3

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

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

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

我可以插入那些具有不同索引的值吗?像

speed => Horse
fly => Bird
4

2 回答 2

11

是的,完全不使用array_push

$a['speed'] = 'Horse';
$a['fly'] = 'Bird';
于 2011-11-01T08:03:51.337 回答
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 组:

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

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

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

于 2017-07-14T19:40:14.147 回答