php實現(xiàn)根據(jù)字符串生成對應數(shù)組的方法
本文實例講述了php實現(xiàn)根據(jù)字符串生成對應數(shù)組的方法,是比較實用的技巧。分享給大家供大家參考。具體方法如下:
先看看如下示例:
<?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 ); ?>
根據(jù)$config生成以下數(shù)組:
<?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實現(xiàn):
<?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); ?>
輸出結(jié)果:
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實現(xiàn)的下載遠程圖片自定義函數(shù)分享
這篇文章主要介紹了PHP實現(xiàn)的下載遠程圖片自定義函數(shù)分享,本文直接給出實現(xiàn)代碼和,本文直接給出實現(xiàn)代碼和使用方法,需要的朋友可以參考下2015-01-01php中利用str_pad函數(shù)生成數(shù)字遞增形式的產(chǎn)品編號
PHP開發(fā)項目中,在做產(chǎn)品編號時,客戶反要求自動生成產(chǎn)品編號,格式如”QB00001″,數(shù)字遞增形式2013-09-09php數(shù)組排序usort、uksort與sort函數(shù)用法
這篇文章主要介紹了php數(shù)組排序usort、uksort與sort函數(shù)用法,詳細介紹了usort、uksort與sort函數(shù)在數(shù)組排序中的應用,具有不錯的參考借鑒價值,需要的朋友可以參考下2014-11-11PHP similar_text 字符串的相似性比較函數(shù)
PHP尋找兩個字符串的相似性的similar_text ()函數(shù)使用方法2010-05-05