Подтвердить что ты не робот

Удаление элементов из массива, если они существуют в другом массиве

Возможный дубликат:
Удалить элемент из массива, если он существует в массиве "запрещенных слов"

Предположим, что у меня есть следующие два массива 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 на каждой итерации?

4b9b3361

Ответ 1

Вы можете использовать array_diff():

Возвращает массив, содержащий все записи из массива, которые не присутствуют ни в одном из других массивов.

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