Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中将一个数组附加到另一个数组_Php - Fatal编程技术网

如何在php中将一个数组附加到另一个数组

如何在php中将一个数组附加到另一个数组,php,Php,我必须在脚本中创建数组 $users = array("A", "B", "C", "D", "E"); $newUsers = array("F", "G", "H", "I"); $totalUsers = $users + $newUsers; 通过使用联合运算符,我尝试将$newUser数组附加到$users 并在使用print_r$totalUsers打印$totalUsers后将其存储在$totalUsers中 它只打印$users数组内容。 为什么? 我使

我必须在脚本中创建数组

    $users = array("A", "B", "C", "D", "E");
    $newUsers = array("F", "G", "H", "I");
    $totalUsers = $users + $newUsers;
通过使用联合运算符,我尝试将$newUser数组附加到$users

并在使用print_r$totalUsers打印$totalUsers后将其存储在$totalUsers中

它只打印$users数组内容。 为什么?

我使用了数组\u merge$users+$newUsers,并且它只打印$users数组内容

最后,通过使用以下方法之一

方法1:

方法2:

我得到了正确的输出

(
    [0] => A
    [1] => B
    [2] => C
    [3] => D
    [4] => E
    [5] => F
    [6] => G
    [7] => H
    [8] => I
)
问题是什么?上述方法之间有什么不同

$totalUsers = array_merge($users, $newUsers);
这是正确的使用方法。您还可以输入两个以上要合并的数组

编辑:要阅读有关数组运算符的更多信息,请访问以下链接:


+运算符返回附加到左侧数组的右侧数组;对于两个数组中都存在的键,将使用左侧数组中的元素,而忽略右侧数组中的匹配元素

换句话说,如果键在左侧数组中不存在,它只添加来自右侧的元素。这就解释了为什么在你的情况下它什么都不做

array_merge($users + $newUsers)
这与此完全相同,即数组并集,然后对结果进行数组合并。所以它也没什么作用

array_merge($users, $newUsers)
这正是你想要的,这是正确的做法

array_merge(array_values($users), array_values($newUsers))

这也做了完全相同的事情,数组\u值在这种情况下不起任何作用。

是的,这是可以的,但我想知道最后一个to方法之间有什么错误和不同?+运算符返回附加到左手数组的右手数组;对于两个数组中都存在的键,将使用左侧数组中的元素,而忽略右侧数组中的匹配元素。-但是你能告诉我array_值什么时候有用吗?array_值将所有数组键重置为连续的数字索引键。在这种情况下你已经有了。
array_merge($users, $newUsers)
array_merge(array_values($users), array_values($newUsers))