php获取数组的值,是这样的方式
$key = 'test';
$val = $arr[$key];
如果是多维深度数组结构,如何根据键获取数组的值?
step1
要构造出结构
step2
使用php特殊执行函数eval
项目代码示例:
$arr = array( 'CITIZENSHIP' => '05', 'ADDRESS' => array( '3' => array( 'province' => '110000', 'city' => '110100', 'district' => '110101' ) ) ); $arr_tpl = array('CITIZENSHIP', 'ADDRESS_3_province', 'ADDRESS_3_city'); $arr_new = array(); foreach ($arr_tpl as $key => $val) { $arr_id = explode('_', $val); $str_arr_key = ''; foreach ($arr_id as $in_key => $in_val) { $str_arr_key .= "[{$in_val}]"; } $form_key = "\$arr$str_arr_key"; $new_key = "\$arr_new$str_arr_key"; eval("\$arr_v = $form_key;"); if (!empty($arr_v)) { eval("$new_key = \$arr_v;"); } }
输出结果:
Array ( [CITIZENSHIP] => 05 [ADDRESS] => Array ( [3] => Array ( [province] => 110000 [city] => 110100 ) ) )
相关推荐
php对二维数组按数组键值进行排序 @param array $array 要排序的数组 @param string $key 排序依据字段 @param string $order 排序方式,0为降序,1为升序
本文实例讲述了js获取对象,数组所有属性键值(key)和对应值(value)的方法。分享给大家供大家参考,具体如下: [removed] var values=function(object) { var values = []; for (var property in object) values....
本文实例讲述了PHP实现根据数组某个键值大小进行排序的方法。分享给大家供大家参考,具体如下: 问题:针对给定数组的某个键的键值进行排序 解决方法: //$a是排序数组,$b是要排序的数据集合,$result是最终结果 $...
主要介绍了php使用post数组的键值创建同名变量并赋值的方法,涉及php操作数组的技巧,非常具有实用价值,需要的朋友可以参考下
从给定数组中获取值最大的数组项的键值。用途如:获取班级得分最高的学生的姓名。 二、解决方法: <?php /* * Created on 2015-3-17 * Created by www.jb51.net */ $arr=array('tom'=>9,'jack'=>3,'kim'=>5,...
主要介绍了php数组实现根据某个键值将相同键值合并生成新二维数组的方法,涉及php数组的遍历、赋值相关运算技巧,需要的朋友可以参考下
关联数组的键值获取,有很多方法,在本文为大家介绍下PHP和JavaScrip中时如何实现的,感兴趣的朋友可以参考下
主要介绍了php获取数组中键值最大数组项的索引值的方法,主要通过asort对数组进行排序,再使用foreach循环将数组索引值赋给一个新的数组,从而获取其对应索引值,非常具有实用价值,需要的朋友可以参考下
@田老板。Tags:json二维数组键值排序。
PHP 根据数组值取得键值.rar
json对象及数组键值的深度大小写转换问题详解.docx
本文实例讲述了php数组键值用法。分享给大家供大家参考。具体分析如下: 先看一个数组: <?php $switching = array( 10, // key = 0 5 => 6, 3 => 7, 'a' => 4, 11, // key = 6 (整个数组中整型键索引最大...
对二维数组按指定键值key排序,对于一些新手朋友或许存在难度,下面为大家介绍下在php中时如何实现的
创建数组,键值对的方式对MIME类型进行匹配,
array_merge 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面,返回作为结果的数组。 如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,...
json 数组结构如下 "head": [{ "brand": "../static/images/brand.svg" }], "main": [{ "教程": [] }, 想要获取 “教程” 这两个字作为标题,.vue中方法如下 {{Object.keys(sMain)[0]}} 其中的sMain是父级传下来...