色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

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 $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 $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);  ?> 

輸出結果:

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實現根據字符串生成對應數組的方法,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 云南省| 霍城县| 桓台县| 浦城县| 菏泽市| 清苑县| 铜山县| 晋城| 桐城市| 嘉兴市| 北碚区| 东城区| 井陉县| 九台市| 瓮安县| 平凉市| 景泰县| 米易县| 惠东县| 蛟河市| 乌兰县| 南岸区| 高碑店市| 祁门县| 荃湾区| 墨江| 砀山县| 衡阳市| 彭山县| 湘西| 和龙市| 隆尧县| 余江县| 分宜县| 莒南县| 易门县| 乐昌市| 新宁县| 湛江市| 黑龙江省| 信丰县|