[英]how to append an array to another arrays in php
我必須在腳本中數組
$users = array("A", "B", "C", "D", "E");
$newUsers = array("F", "G", "H", "I");
$totalUsers = $users + $newUsers;
通過使用Union運算符,我嘗試將$ newUser數組追加到$ users 。
並將其存儲在$ totalUsers,使用的print_r($ totalUsers)打印$ totalUsers后。
它只打印$ users數組的內容。 為什么呢
我使用了array_merge($ users + $ newUsers) ,並且它只打印了$ users數組的內容。
最后,通過使用以下方法之一,
方法1:
$totalUsers = array_merge(array_values($users), array_values($newUsers));
print_r($totalUsers);
方法2:
array_merge($users, $newUsers);
print_r($totalUsers);
我得到正確的輸出
(
[0] => A
[1] => B
[2] => C
[3] => D
[4] => E
[5] => F
[6] => G
[7] => H
[8] => I
)
問題是什么,上述方法之間有什么區別?
+
運算符返回添加到左側數組的右側數組; 對於兩個數組中都存在的鍵,將使用左側數組中的元素,而右側數組中的匹配元素將被忽略。
換句話說,如果鍵在左手數組中不存在,則僅從右手添加元素。 這就解釋了為什么您不執行任何操作。
array_merge($users + $newUsers)
這樣做完全相同,是數組聯合,然后對結果進行array_merge
。 因此,它也不執行任何操作。
array_merge($users, $newUsers)
這正是您想要的,這是正確的事情。
array_merge(array_values($users), array_values($newUsers))
這也做同樣的事情,在這種情況下, array_values
不做任何事情。
$totalUsers = array_merge($users, $newUsers);
那是使用array_merge的正確方法。 您還可以輸入兩個以上要合並的數組。
編輯:要了解有關數組運算符的更多信息,請訪問以下鏈接: http : //php.net/manual/en/language.operators.array.php
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.