Функция array_filter фильтрует массив функцией обратного вызова. В параметр функции последовательно будут попадать элементы массива и, если для этого элемента функция вернет true - элемент останется в массиве, а если false - удалится.

В массиве останутся только те элементы, для которых функция обратного вызова вернула true.

Если исходный массив является ассоциативным, то его ключи сохраняются.

Синтаксис

array_filter(массив, функция обратного вызова);

Примеры

Пример

Давайте оставим в массиве только положительные элементы:

<?php
	function func($num)
	{
		if ($num >=0) {
			return true;
	} else {
			return false;
	}
	}

	$arr = [1, -1, 2, -2, 3, -3];	$arr = array_filter($arr, 'func')?>

Результат выполнения кода:

[1, 2, 3]