Возможный дубликат:
Удалить элемент из массива, если он существует в массиве «запрещенных слов»
Допустим, у меня есть следующие два массива PHP, которые содержат целые числа:
$foo = array(1, 5, 9, 14, 23, 31, 45); $bar = array(14, 31, 36);
Я хочу удалить элементы в $foo
где одно и то же значение существует в $bar
Таким образом, результат процесса создаст массив $filteredFoo
который содержит:
1, 5, 9, 23, 45
Просмотрев документы на php.net, похоже, не существует существующей функции для выполнения такого рода действий. Могу ли я использовать опцию foreach и перебирать через $foo
контрольные значения $bar
на каждой итерации?
Вы можете использовать array_diff()
:
Возвращает массив, содержащий все записи из массива1, которые не присутствуют ни в одном из других массивов.
$filteredFoo = array_diff($foo, $bar);