简化数组操作

场景介绍:

这个方法用在获取到一个(多维)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())看一下这个的结构:

1
2
3
1 =>
'a'=>string 'a'
'b'=>string 'b'

目的是在"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