ホームページ  >  記事  >  バックエンド開発  >  PHPを介して文字列に基づいて対応する配列を生成する方法

PHPを介して文字列に基づいて対応する配列を生成する方法

jacklove
jackloveオリジナル
2018-06-09 11:37:181838ブラウズ

php は、文字列

# に基づいて、対応する配列メソッドを生成します。例:

<?php
$config = array(
    &#39;project|page|index&#39; => &#39;content&#39;,
    &#39;project|page|nav&#39; => array(
            array(
                &#39;image&#39; => &#39;1.jpg&#39;,
                &#39;name&#39; => &#39;home&#39;
            ),
            array(
                &#39;image&#39; => &#39;2.jpg&#39;,
                &#39;name&#39; => &#39;about&#39;
            )
    ),
    &#39;project|page|open&#39; => true
);
?>


$config

<?php
$result = array(
    &#39;project&#39; => array(
        &#39;page&#39; => array(
            &#39;index&#39; => &#39;content&#39;,
            &#39;nav&#39; => array(
                    array(
                        &#39;image&#39; => &#39;1.jpg&#39;,
                        &#39;name&#39; => &#39;home&#39;
                    ),
                    array(
                        &#39;image&#39; => &#39;2.jpg&#39;,
                        &#39;name&#39; => &#39;about&#39;
                    )
            ),
            &#39;open&#39; => true
        )    
    )
);
?>


メソッドに従って次の配列を生成します: eval を使用して ## を実装します#

<?php
$config = array(
    &#39;project|page|index&#39; => &#39;content&#39;,
    &#39;project|page|nav&#39; => array(
            array(
                &#39;image&#39; => &#39;1.jpg&#39;,
                &#39;name&#39; => &#39;home&#39;
            ),
            array(
                &#39;image&#39; => &#39;2.jpg&#39;,
                &#39;name&#39; => &#39;about&#39;
            )
    ),
    &#39;project|page|open&#39; => true
);
$result = array();
foreach($config as $key=>$val){
    
    $tmp = &#39;&#39;;
    $keys = explode(&#39;|&#39;, $key);
    
    for($i=0,$len=count($keys); $i<$len; $i++){
        $tmp .= "[&#39;".$keys[$i]."&#39;]";
    }
    
    if(is_array($val)){
        eval(&#39;$result&#39;.$tmp.&#39;=&#39;.var_export($val,true).&#39;;&#39;);
    }elseif(is_string($val)){
        eval(&#39;$result&#39;.$tmp.&#39;=&#39;.$val.&#39;;&#39;);
    }else{
        eval(&#39;$result&#39;.$tmp.&#39;=$val;&#39;);
    }
}
print_r($result);
?>


出力結果:

Array
(
    [project] => Array
        (
            [page] => Array
                (
                    [index] => content
                    [nav] => Array
                        (
                            [0] => Array
                                (
                                    [image] => 1.jpg
                                    [name] => home
                                )
                            [1] => Array
                                (
                                    [image] => 2.jpg
                                    [name] => about
                                )
                        )
                    [open] => 1
                )
        )
)

この記事では、PHP を使用して文字列に基づいて対応する配列を生成する方法について説明します。さらに関連する内容については、PHP 中国語に注意してください。 Webサイト。


関連する推奨事項:

JSON 文字列キーに二重引用符がない場合の解決策の説明

#curl を使用して https リクエスト メソッドを取得する方法

php を使用して画像をアップロードしてデータベースに保存する方法の説明


以上がPHPを介して文字列に基づいて対応する配列を生成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。