是否有一個內置的函數來獲取陣列2中不存在的數組1的所有成員?
我知道如何以編程方式完成它,只想知道是否有一個內置函數可以實現相同功能。所以請不要使用代碼示例。array_intersect的對面嗎?
28
A
回答
46
這聽起來像是一個工作array_diff
。
返回包含所有從ARRAY1的 條目不 存在於任何其它數組的數組。
4
$diff = array_diff($array1, $array2);
28
和array_diff絕對是明顯的選擇,但它在技術上並不陣列interesect相反。就拿這個例子:
$arr1 = array('rabbit','cat','dog');
$arr2 = array('cat','dog','bird');
print_r(array_diff($arr1, $arr2));
你想要的是與「兔子」,並在其中「鳥」,但你得到的結果是隻兔子,因爲它正在尋找的是第一陣列中而不是第二(而不是相反)。要真正得到的結果你想要,你必須做這樣的事情:
$arr1 = array('rabbit','cat','dog');
$arr2 = array('cat','dog','bird');
$diff1 = array_diff($arr1, $arr2);
$diff2 = array_diff($arr2, $arr1);
print_r(array_merge($diff1, $diff2));
注意:此方法僅在用數字鍵數組。
+1
謝謝你這是我正在尋找的,這應該是標記爲解決方案 – artSir 2016-05-06 18:08:20
0
我發現這個docstore.mik.ua/orelly/webprog/pcook/ch04_24.htm挺有用的。
您可能需要一個反向差異,方法是顛倒標準差異中數組的順序。
相關問題
- 1. Array_intersect對多維數組
- 2. 逆array_intersect的()
- 3. array_intersect&array_unique的錯誤
- 4. php array_push和array_intersect
- 5. Array_intersect返回NULL
- 6. Php array_intersect輸出
- 7. php array_intersect()效率
- 8. 使用array_intersect
- 9. array_intersect()不再工作?
- 10. PHP array_intersect不正常
- 11. 模仿array_intersect在MySQL
- 12. array_intersect內foreach循環
- 13. timeago.js的對面嗎?
- 14. call_user_func_array + array_intersect與一個數組名稱的數組,可能嗎?
- 15. 我怎麼能從array_intersect()
- 16. array_intersect()參數不是數組
- 17. php array - in_array和/或array_intersect
- 18. 「!=」不是「=」的對立面嗎?
- 19. Android Window.FEATURE_NO_TITLE的對面嗎?
- 20. toString(36)的對面嗎?
- 21. 問題與PHP函數的參數array_intersect
- 22. 用於INSERT/UPDATE/DELETE的PHP 2D array_diff/array_intersect
- 23. 爲什麼我的`array_intersect`沒有工作?
- 24. PHP/Codeigniter比較對象(stdClass)和字符串數組array_intersect
- 25. 如何使用array_intersect顯示當天
- 26. 在java中是否有array_intersect()等價物?
- 27. 警告:array_intersect()[function.array-intersect]:參數#1不是
- 28. PHP array_intersect +與陣列上,array_flip值多次
- 29. array_intersect():參數#1不是數組?
- 30. 面向對象的PHP很慢嗎?
請注意,如果您正在尋找具有類似行爲的功能,您很可能會在該功能的手冊頁中找到它,在「另請參見」一節中,您可以在http:// www中查看此問題.php.net/manual/en/function.array-intersect.php – 2011-04-07 14:05:31