array_filter

(PHP 4 >= 4.0.6)

array_filter --  Filtert Elemente eines Arrays mittels einer Callback-Funktion

Beschreibung

array array_filter ( array input [, callback function])

array_filter() gibt ein Array mit den mittels der Callback-Funktion function gefilterten Elementen voninput zurück. Ist input ein assoziatives Array, bleiben die Schlüssel erhalten.

Beispiel 1. array_filter()

function ungerade($var) {
    return ($var % 2 == 1);
}

function gerade($var) {
    return ($var % 2 == 0);
}

$array1 = array ("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array (6, 7, 8, 9, 10, 11, 12);

echo "Ungerade :\n";
print_r(array_filter($array1, "ungerade"));
echo "Gerade:\n";
print_r(array_filter($array2, "gerade"));

Wird folgendes ausgeben:
Ungerade :
Array
(
    [a] => 1
    [c] => 3
    [e] => 5
)
Gerade:
Array
(
    [0] => 6
    [2] => 8
    [4] => 10
    [6] => 12
)

Von der Benutzerfunktion aus darf das Array selbst nicht geändert werden, wie zum Beispiel durch Hinzufügen oder Löschen eines Elementes, oder auch Löschen des Arrays, auf das array_filter() angewendet wird. Ist das Array geändert, so ist das Verhalten dieser Funktion undefiniert.

Siehe auch array_map() und array_reduce().