从数组中删除项目(如果它们存在于另一个数组中)

时间:2010-12-03 15:55:56

标签: php arrays

  

可能重复:
  Remove item from array if it exists in a 'disallowed words' array

假设我有以下两个包含整数的PHP数组:

$foo = array(1, 5, 9, 14, 23, 31, 45);
$bar = array(14, 31, 36);

我想删除$foo$bar

中存在相同值的$filteredFoo

因此,该过程的结果将创建一个包含以下内容的1, 5, 9, 23, 45 数组:

$foo

浏览了php.net上的文档后,似乎没有现成的函数来执行这种操作。那么我唯一的选择是使用foreach并在每次迭代时迭代$bar检查值{{1}}吗?

1 个答案:

答案 0 :(得分:33)

您可以使用array_diff()

  

返回一个数组,其中包含array1中任何其他数组中不存在的条目。

$filteredFoo = array_diff($foo, $bar);