0
我遇到了一個問題,我試圖合併2個(或更多!)數組,其中的鍵沒有明確定義,以及我在哪裏正在尋找沒有任何重複。這似乎是一個愚蠢的問題,但我正在努力尋找解決問題的有效方法。讓我來舉例說明:PHP中沒有鍵和沒有重複組合兩個(或更多)數組
// for example, here are some arrays, the last 2 are the same...
$one = array(1);
$two = array(2);
$three = array(2);
現在,理想情況下,我想「合併」這三個陣列有類似:
array(1, 2);
使用當前的PHP的能力,這是我到目前爲止已經試過:
// this produces: array(1, 2, 2)
$merged = array_merge($one, $two, $three);
// this produces: array(2)
$merged = $one + $two + $three;
這兩個都不完全符合我的需要。有什麼明顯的我失蹤了嗎?我真的不想開始循環遍歷每個數組來檢查重複項,然後再將它們添加到合併數組中。
在此先感謝您的任何見解!
我在想這個,但是如果我合併到'$ merged'中的每個數組都被加入到'foreach'循環中會發生什麼?每次我想要在另一個數組中合併(可能有幾百個),是否足夠有效地運行'array_unique'?感謝你! :) –
@ChrisKempen:我只是編輯提到這一點。這取決於。您可以通過手動完成所有操作並將輸入**中的項目(作爲鍵和值**)插入臨時,然後將'array_flip'作爲臨時項目以獲得結果來減少浪費。有很多值得注意的地方,但這就是要點。不過,除非你確實可以證明廢物會傷害你,否則我不會擔心。 – Jon
@ChrisKempen:另外,如果您需要逐步更新結果,則無助於減少浪費。 – Jon