简化数组操作
场景介绍:
这个方法用在获取到一个(多维)Array后,要对其结构和数据进行变更。这篇介绍往已有键值对的数组后面(the bottom of the stack)添加新的键值对。
方法介绍:
可能很多人 会使用array_push函数,但是看一下php manual上摘录下来的原话:
Note: 如果用 array_push() 来给数组增加一个单元,还不如用 $array[] =
,因为这样没有调用函数的额外负担。
(还有真是不懂为什么要用push 明明$array[$key]=$value
又简单又高效啊~)
代码试验:
先尝试构建一个原始(二维)数组:
1$arr=array("1"=>array("a"=>"a","b"=>"b"));
用 var_dump()(或是print_r())看一下这个的结构:
|
|
目的是在"b"=>"b"($key=>$value)下添加一个新的键值对
如:"c"=>"c"
第一步:拆开来foreach($arr as $k=>$v),这步应该没有什么疑问才对;
第二步:里面那层取出来,$v[$newKeyName]=>$newValue (e.g. $v["c"]=>"c")
第三步:再装回去,$arr[$k]=$v ;
以上三步就可以实现 追加键值对了。。
变为三维(+)数组也同理操作即可。
最后贴一篇Manual的refereance 官方有种神奇的叫法:square bracket syntax