《PHP應用:php實現根據字符串生成對應數組的方法》要點:
本文介紹了PHP應用:php實現根據字符串生成對應數組的方法,希望對您有用。如果有疑問,可以聯系我們。
本文實例講述了php實現根據字符串生成對應數組的辦法,是比較實用的技巧.分享給大家供大家參考.具體辦法如下:PHP學習
先看看如下示例:PHP學習
<?php $config = array( 'project|page|index' => 'content', 'project|page|nav' => array( array( 'image' => '1.jpg', 'name' => 'home' ), array( 'image' => '2.jpg', 'name' => 'about' ) ), 'project|page|open' => true ); ?>
根據$config生成以下數組:PHP學習
<?php $result = array( 'project' => array( 'page' => array( 'index' => 'content', 'nav' => array( array( 'image' => '1.jpg', 'name' => 'home' ), array( 'image' => '2.jpg', 'name' => 'about' ) ), 'open' => true ) ) ); ?>
辦法:使用eval實現:PHP學習
<?php $config = array( 'project|page|index' => 'content', 'project|page|nav' => array( array( 'image' => '1.jpg', 'name' => 'home' ), array( 'image' => '2.jpg', 'name' => 'about' ) ), 'project|page|open' => true ); $result = array(); foreach($config as $key=>$val){ $tmp = ''; $keys = explode('|', $key); for($i=0,$len=count($keys); $i<$len; $i++){ $tmp .= "['".$keys[$i]."']"; } if(is_array($val)){ eval('$result'.$tmp.'='.var_export($val,true).';'); }elseif(is_string($val)){ eval('$result'.$tmp.'='.$val.';'); }else{ eval('$result'.$tmp.'=$val;'); } } print_r($result); ?>
輸出結果:PHP學習
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程序設計的學習有所贊助.PHP學習
維易PHP培訓學院每天發布《PHP應用:php實現根據字符串生成對應數組的方法》等實戰技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養人才。