PHP Handbuch
Zurück |  | Weiter

# array_filter

(PHP 4 >= 4.0.6, PHP 5)

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

## Beschreibung

array array_filter ( array input [, callback callback] )

array_filter() übergibt nacheinander alle Werte in dem Array `input` and die `callback` Funktion. Gibt die `callback` Funktion true zurück, wird der aktuelle Wert von `input` in das Ergebnis-Array geschrieben. Die Schlüssel des Arrays bleiben erhalten.

Beispiel 1. array_filter()
`<?php function ungerade($var) { return($var & 1); } function gerade($var) { return(!($var & 1)); } $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")); ?>`
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
`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.

Falls die Function `callback` nicht angegeben wurde, wird array_filter() alle Einträge aus dem Array entfernen, die `FALSE` sind. Schauen Sie sich Konvertierung in Booleans für mehr Informationen hierzu an.

Beispiel 2. array_filter() ohne `callback`
`<?php $entry = array( 0 => 'foo', 1 => false, 2 => -1, 3 => null, 4 => '' ); print_r(array_filter($entry)); ?>`
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
    Array
    (
        [0] => foo
        [2] => -1
    )

Siehe auch array_map(), array_reduce() und array_walk().

Zurück | Zum Anfang | Weiter
array_fill | Nach oben | array_flip