手机
当前位置:查字典教程网 >编程开发 >php教程 >php实现根据字符串生成对应数组的方法
php实现根据字符串生成对应数组的方法
摘要:本文实例讲述了php实现根据字符串生成对应数组的方法,是比较实用的技巧。分享给大家供大家参考。具体方法如下:先看看如下示例:'content...

本文实例讲述了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生成唯一订单号的方法汇总

PHP+shell实现多线程的方法

php生成图片缩略图的方法

php简单实现多字节字符串翻转的方法

实现树状结构的两种方法

php简单实现快速排序的方法

php截取指定2个字符之间字符串的方法

两种php调用Java对象的方法

php实现求相对时间函数

php递归调用删除数组空值元素的方法

精品推荐
分类导航