簡體   English   中英

如何在php中將一個數組追加到另一個數組

[英]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
)

問題是什么,上述方法之間有什么區別?

+運算符返回添加到左側數組的右側數組; 對於兩個數組中都存在的鍵,將使用左側數組中的元素,而右側數組中的匹配元素將被忽略。

http://www.php.net//manual/en/language.operators.array.php

換句話說,如果鍵在左手數組中不存在,則僅從右手添加元素。 這就解釋了為什么您不執行任何操作。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM