(PHP 4 >= 4.0.6)
array_map -- Wendet eine Callback-Funktion auf die Elemente von Arrays
an
Beschreibung
array array_map
(mixed callback, array arr1 [, array
arr2...])
array_map() wendet die Callback-Funktion auf alle
Elemente von arr1 an, und gibt ein Array mit
den modifizierten Werten zurück.
Beispiel 1. array_map()
function cube($n) {
return $n*$n*$n;
}
$a = array(1, 2, 3, 4, 5);
$b = array_map("cube", $a);
|
|
Dies speichert array (1, 8, 27, 64, 125);
in $b.
Beispiel 2. array_map() - Verwendung mehrerer Arrays
function show_Spanish($n, $m) {
return "Die Zahl $n heißt auf Spanisch $m";
}
function map_Spanish($n, $m) {
return array ($n => $m);
}
$a = array(1, 2, 3, 4, 5);
$b = array("uno", "dos", "tres", "cuatro", "cinco");
$c = array_map("show_Spanish", $a, $b);
print_r($c);
// will output:
// Array
// (
// [0] => Die Zahl 1 heißt auf Spanisch uno
// [1] => Die Zahl 2 heißt auf Spanisch dos
// [2] => Die Zahl 3 heißt auf Spanisch tres
// [3] => Die Zahl 4 heißt auf Spanisch cuatro
// [4] => Die Zahl 5 heißt auf Spanisch cinco
// )
$d = array_map("map_Spanish", $a , $b);
print_r($d);
// will output:
// Array
// (
// [0] => Array
// (
// [1] => uno
// )
//
// [1] => Array
// (
// [2] => dos
// )
//
// [2] => Array
// (
// [3] => tres
// )
//
// [3] => Array
// (
// [4] => cuatro
// )
//
// [4] => Array
// (
// [5] => cinco
// )
//
// )
|
|
Bei Verwendung von zwei oder mehr Arrays sollten diese gewöhnlich die
gleiche Länge besitzen, da die Callback-Funktion parallel auf die
entsprechenden Elemente angewandt wird.
Haben die Arrays unterschiedliche Längen, wird das kürzeste um leere
Elemente erweitert.
Eine interessante Anwendung dieser Funktion ist die Konstruktion eines
Arrays bestehend aus Arrays, was mit NULL als Name
der Callback-Funktion leicht realisiert werden kann.
Beispiel 3. array_map() - Erstellen eines Arrays mit
Arrays
$a = array(1, 2, 3, 4, 5);
$b = array("one", "two", "three", "four", "five");
$c = array("uno", "dos", "tres", "cuatro", "cinco");
$d = array_map(null, $a, $b, $c);
print_r($d);
// will output:
// Array
// (
// [0] => Array
// (
// [0] => 1
// [1] => one
// [2] => uno
// )
//
// [1] => Array
// (
// [0] => 2
// [1] => two
// [2] => dos
// )
//
// [2] => Array
// (
// [0] => 3
// [1] => three
// [2] => tres
// )
//
// [3] => Array
// (
// [0] => 4
// [1] => four
// [2] => cuatro
// )
//
// [4] => Array
// (
// [0] => 5
// [1] => five
// [2] => cinco
// )
//
// )
|
|
Siehe auch array_filter(),
array_reduce().