array_filter

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 von input 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

 
:











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( ) .