如果索引是除0之外的任何其他值,则将值推送到数组会导致索引从0开始。
$a=array("a"=>"Dog","b"=>"Cat");
array_push($a,"Horse","Bird");
这将插入索引为0和1的Horse和Bird。
我可以插入不同索引的值吗?喜欢
speed => Horse
fly => Bird
答案 0 :(得分:9)
是的,完全不使用array_push
:
$a['speed'] = 'Horse';
$a['fly'] = 'Bird';
答案 1 :(得分:1)
array_merge()有什么问题?它是修改和/或将数据附加到大型数组的绝佳解决方案。
$a = array('a' => 'Dog', 'b' => 'Cat');
$a = array_merge($a, array('speed' => 'Horse', 'fly' => 'Bird'));
var_dump($a);
// Outputs:
// array(4) {
// ['a']=>
// string(3) 'Dog'
// ['b']=>
// string(3) 'Cat'
// ['speed']=>
// string(5) 'Horse'
// ['fly']=>
// string(4) 'Bird'
// }
来自PHP小组:
将一个或多个数组的元素合并在一起,以便显示值 一个附加到前一个的末尾。它返回 结果数组。
如果输入数组具有相同的字符串键,则后面的值 该密钥将覆盖前一个密钥。但是,如果是数组 包含数字键,后面的值不会覆盖原始值 值,但会附加。
带有数字键的输入数组中的值将重新编号 在结果数组中从零开始递增键。