手机
当前位置:查字典教程网 >编程开发 >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实现将textarea的值根据回车换行拆分至数组

php将图片文件转换成二进制输出的方法

php快速查找数据库中恶意代码的方法

php替换字符串中间字符为省略号的方法

PHP生成plist数据的方法

实现树状结构的两种方法

php比较相似字符串的方法

php实现修改新闻时删除图片的方法

PHP生成指定随机字符串的简单实现方法

php实现TCP端口检测的方法

精品推荐
分类导航