动态地将值插入到带索引的数组中

时间:2011-11-01 08:01:36

标签: php arrays indexing array-push

如果索引是除0之外的任何其他值,则将值推送到数组会导致索引从0开始。

$a=array("a"=>"Dog","b"=>"Cat");
array_push($a,"Horse","Bird");

这将插入索引为0和1的Horse和Bird。

我可以插入不同索引的值吗?喜欢

speed => Horse
fly => Bird

2 个答案:

答案 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小组:

  

将一个或多个数组的元素合并在一起,以便显示值   一个附加到前一个的末尾。它返回   结果数组。

     

如果输入数组具有相同的字符串键,则后面的值   该密钥将覆盖前一个密钥。但是,如果是数组   包含数字键,后面的值不会覆盖原始值   值,但会附加。

     

带有数字键的输入数组中的值将重新编号   在结果数组中从零开始递增键。