php 根据字符串生成对应数组方法
2014-08-15 20:34
741 查看
php 根据字符串生成对应数组方法
例如:
根据$config生成以下数组
方法:使用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 ); ?>
根据$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 依据字符串生成相应数组方法
- php数组实现根据某个键值将相同键值合并生成新二维数组的方法
- php根据一个给定范围和步进生成数组的方法
- PHP 数组和字符串互相转换实现方法
- php根据分类合并数组的方法实例详解
- 根据分隔符将一个长字符串分割保存到动态数组中(第二种方法)
- PHP数组和字符串互相转换实现方法
- 根据CDS的Delta生成对应的Sql语句的方法
- PHP生成随机字符串的三种方法
- PHP生成随机字符串的方法
- PHP中数组,字符串和对象的在方法中的引用方式
- PHP生成数组再传给js的方法
- PHP数组转字符串与PHP字符串转数组的相关方法解析
- PHP数组转字符串与PHP字符串转数组的相关方法解析 implode() explode()
- PHP数组转字符串与PHP字符串转数组的相关方法解析
- PHP生成唯一字符串的方法,产生唯一码的方法分析
- Editplus借助python实现根据方法参数自动生成php注释