php實(shí)現(xiàn)根據(jù)字符串生成對(duì)應(yīng)數(shù)組的方法
本文實(shí)例講述了php實(shí)現(xiàn)根據(jù)字符串生成對(duì)應(yīng)數(shù)組的方法,是比較實(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實(shí)現(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
)
)
)
希望本文所述對(duì)大家PHP程序設(shè)計(jì)的學(xué)習(xí)有所幫助。
相關(guān)文章
詳談symfony window下的安裝 安裝時(shí)候出現(xiàn)的問(wèn)題以及解決方法
下面小編就為大家?guī)?lái)一篇詳談symfony window下的安裝 安裝時(shí)候出現(xiàn)的問(wèn)題以及解決方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09
PHP常用函數(shù)和常見(jiàn)疑難問(wèn)題解答
雖然PHP在整體功能上不如Java強(qiáng)大,但相比PHP而言Java算是較重量級(jí)的,所以在小中型系統(tǒng)的開(kāi)發(fā)上,使用PHP的趨勢(shì)不可擋,就算是大型網(wǎng)站,比如淘寶也部分使用了PHP(Java后臺(tái)邏輯+PHP前臺(tái)展示),所以趕緊開(kāi)始學(xué)PHP啦2014-03-03
PHP簡(jiǎn)單計(jì)算兩個(gè)時(shí)間差的方法示例
這篇文章主要介紹了PHP簡(jiǎn)單計(jì)算兩個(gè)時(shí)間差的方法,結(jié)合具體實(shí)例形式分析了php日期與時(shí)間的轉(zhuǎn)換及數(shù)學(xué)運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2017-06-06
php 實(shí)現(xiàn)進(jìn)制相互轉(zhuǎn)換
最近的項(xiàng)目中需要用到進(jìn)制轉(zhuǎn)換,這個(gè)問(wèn)題在剛剛接觸計(jì)算機(jī)理論時(shí)候,還是很會(huì)的,好久不用,居然模糊了……2016-04-04
詳解WordPress中調(diào)用評(píng)論模板和循環(huán)輸出評(píng)論的PHP函數(shù)
這篇文章主要介紹了WordPress中調(diào)用評(píng)論模板和循環(huán)輸出評(píng)論的PHP函數(shù),分別是comments_template函數(shù)與wp_list_comments函數(shù)的使用,需要的朋友可以參考下2016-01-01
php一維二維數(shù)組鍵排序方法實(shí)例總結(jié)
這篇文章主要介紹了php一維二維數(shù)組鍵排序方法,以實(shí)例形式總結(jié)了針對(duì)一維數(shù)組的冒泡排序與使用array_multisort()對(duì)二位數(shù)組按照指定鍵值排序等方法,具有不錯(cuò)的參考借鑒價(jià)值,需要的朋友可以參考下2014-11-11
一些php項(xiàng)目中比較通用的php自建函數(shù)的詳解
本篇文章是對(duì)一些php項(xiàng)目中比較通用的php自建函數(shù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
php常用字符串長(zhǎng)度函數(shù)strlen()與mb_strlen()用法實(shí)例分析
這篇文章主要介紹了php常用字符串長(zhǎng)度函數(shù)strlen()與mb_strlen()用法,結(jié)合實(shí)例形式分析了php字符串長(zhǎng)度函數(shù)strlen()與mb_strlen()功能、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-06-06

