php 根据字符串生成对应数组方法
来源:互联网 发布:sqlserver大数据处理 编辑:程序博客网 时间:2024/05/17 23:00
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 ) ))
0 0
- php 根据字符串生成对应数组方法
- php根据路径生成对应的文件目录
- PHP数组-----根据key删除key对应的元素
- C#根据字符串名称 得到对应的方法
- php:根据中文裁减字符串函数方法
- 【php:根据中文裁减字符串函数方法】
- PHP生成随机字符串方法
- 根据json生成对应属性
- 根据字符串或数组内容生成正则表达式
- php根据字符串类名 动态生成对象
- JS根据动态生成的字符串,验证是否存在对应function并执行
- 根据字符串生成日期
- 根据字符串生成二维码
- js或Jquery 根据字符串类型的方法名,找到对应的方法并且调用
- Unity中根据字符串生成二维码的方法
- php 中生成随机字符串的方法
- PHP生成随机字符串的方法
- PHP生成随机字符串的方法
- HDU 1068 Girls and Boys(最大独立集合 = 顶点数 - 最大匹配数)
- 2014.8.14 周四-http请求图
- Machine Schedule 6.3.3
- Python Class Object
- Struts2学习笔记(2)值传递
- php 根据字符串生成对应数组方法
- Plugins for Sublime Text 2
- URAL1306-Sequence Median(优先队列)
- java 中使用 sqlite
- Android4.4 v2.0大图标的修改
- 新浪微博字数统计
- 获取WinCE电池电量
- HDU2119_Matrix(二分图/最小点覆盖=最大匹配)
- 【队列,树】poj 3253