是否有一个内置的函数来获取阵列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