我有一个数组:
Array
(
[0] => tom
[1] => and
[2] => jerry
)
我还有一个不允许的单词数组:
Array
(
[0] => and
[1] => foo
[2] => bar
)
我需要做的是删除第一个数组中也出现在第二个数组中的任何项目,例如,在本例中,需要删除键 1,因为“and”位于不允许的单词数组中。
现在我现在有这段代码,它对不允许的单词执行 foreach,然后使用 array_search 查找任何匹配项:
$arr=array('tom','and','jerry');
$disallowed_words=array('and','or','if');
foreach($disallowed_words as $key => $value) {
$arr_key=array_search($value,$array);
if($arr_key!='') {
unset($search_terms[$arr_key]);
}
}
现在我知道这段代码很糟糕,我想知道是否有一种更有效的方法从另一个数组中存在的数组中删除和项目,特别是如果它否定使用 foreach 的话。
你要array_diff http://php.net/manual/en/function.array-diff.php.
array_diff
返回一个数组,其中包含
所有条目来自array1
那是
不存在于任何其他
数组。
所以你想要这样的东西:
$good = array_diff($arr, $disallowed_words);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)