この記事の例では、PHP で文字列に基づいて対応する配列を生成する方法を説明します。これは実用的な手法です。参考のためにみんなで共有してください。具体的な方法は以下の通りです
まず次の例を見てみましょう:
次の配列は $config に基づいて生成されます:
方法: eval を使用して実装します:
出力結果:
配列
(
[プロジェクト] => 配列
(
[ ページ ] => 配列
(
[インデックス] => 内容
[ナビ] => 配列
(
[0] => 配列
(
[画像] => 1.jpg
[名前] => ホーム
)
[1] => 配列
(
[画像] => 2.jpg
[名前] =>
について
)
)
[開く] => 1
)
)
)
この記事が皆さんの PHP プログラミングの学習に役立つことを願っています。
$map = array('aa' => '3,4,5,6;',
'bb' => '3,4,6,7;',
'cc' => '5 ,8,1,3;',
'dd' => '1,5,7,9;'
);
foreach ($map as $k =>$v) {
if (strpos($ v, '3,4') !== false) {
echo "'$k' => '$v'
";
}
}
まず文字列を PHP 定義の配列の形式に処理し、次に eval を使用して実行します:
$str="
Array
(
[15] => Array
(
[id] => 2304
[fromtype] => アイテム
)
[16] => 配列
(
[id] => 2313
[fromtype] => アイテム
)
[17] => ; 4265
[fromtype] => item
)
)";
$str=preg_replace('/\[([a-z]+)\]\s*=>\s*([0 -9a- z]+)/',"'\$1'=>'\$2',",$str);
$p=array('配列','[',']',' )' );
$to=array('array',"'","'",'),');
$str=str_replace($p,$to,$str);
//echo $str;
eval( "\$arr = ".$str.');
print_r($arr[15]);
http://www.bkjia.com/PHPjc/882911.html