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

MrE*_*yes 17 php arrays

可能重复:
如果项目存在于"不允许的单词"数组中,则从数组中删除该项

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

$foo = array(1, 5, 9, 14, 23, 31, 45);
$bar = array(14, 31, 36);
Run Code Online (Sandbox Code Playgroud)

我想删除$foo存在相同值的项目$bar

因此,该过程的结果将创建一个$filteredFoo包含以下内容的数组:

1, 5, 9, 23, 45
Run Code Online (Sandbox Code Playgroud)

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

Tat*_*nen 33

你可以使用array_diff():

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

$filteredFoo = array_diff($foo, $bar);
Run Code Online (Sandbox Code Playgroud)

  • 非常感谢,树木和所有这些 (2认同)