色尼玛亚洲综合影院,亚洲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實現根據字符串生成對應數組的方法,轉載需保留來源!

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

主站蜘蛛池模板: 桃江县| 张家界市| 宣威市| 冷水江市| 紫云| 大城县| 浠水县| 青田县| 哈尔滨市| 蓝田县| 修文县| 潞城市| 侯马市| 龙岩市| 康定县| 呼图壁县| 新乡县| 桂阳县| 玛曲县| 哈密市| 抚州市| 谷城县| 六安市| 樟树市| 凌海市| 泉州市| 平遥县| 巴楚县| 禹州市| 苏尼特右旗| 山阳县| 西林县| 保亭| 长白| 安泽县| 梅河口市| 红安县| 西平县| 台前县| 资中县| 文昌市|