array_map
Stosuje podany callback do elementów podanych tablic
&reftitle.description;
arrayarray_map
callablecallback
arrayarray1
array...
array_map zwraca tablicę zawierającą wszystkie
elementy array1 po wykonaniu funkcji
callback na każdym z nich.
Liczba parametrów przyjmowanych przez callback
powinna wynosić tyle, ile tablic przekazano do array_map
&reftitle.parameters;
callback
Funkcja zwrotna do wykonania na każdym elemencie każdej tablicy.
array1
Tablica do przepuszczenia przez podany callback.
...
Dalsza lista tablic do przepuszczenia przez funkcję podaną
w argumencie callback.
&reftitle.returnvalues;
Zwraca tablicę zawierającą wszystkie elementy array1
po wykonaniu funkcji callback na każdym z nich.
&reftitle.examples;
Przykład użycia array_map
]]>
Zmienna b $b otrzyma:
1
[1] => 8
[2] => 27
[3] => 64
[4] => 125
)
]]>
array_map z użyciem funkcji anonimowej (od PHP 5.3.0)
]]>
2
[1] => 4
[2] => 6
[3] => 8
[4] => 10
)
]]>
array_map - większa ilość tablic
$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);
$d = array_map("map_Spanish", $a , $b);
print_r($d);
?>
]]>
&example.outputs;
Cyfra 1 to po hiszpańsku uno
[1] => Cyfra 2 to po hiszpańsku dos
[2] => Cyfra 3 to po hiszpańsku tres
[3] => Cyfra 4 to po hiszpańsku cuatro
[4] => Cyfra 5 to po hiszpańsku cinco
)
// wypis zmiennej $d
Array
(
[0] => Array
(
[1] => uno
)
[1] => Array
(
[2] => dos
)
[2] => Array
(
[3] => tres
)
[3] => Array
(
[4] => cuatro
)
[4] => Array
(
[5] => cinco
)
)
]]>
Zazwyczaj, gdy używa się dwóch lub więcej tablic, powinny one mieć
jednakową długość, ponieważ funkcja zwrotna jest stosowana równolegle
do odpowiadających elementów.
Jeśli tablice nie są równej długości, krótsze zostaną rozszerzone używając
pustych elementów, tak aby ich długość zgadzała się z najdłuższą z tablic.
Ciekawym zastosowaniem tej funkcji może być kontrurowanie tablicy tablic,
które może zostać łatwo osiągnięte dzięki użyciu &null; jako nazwy funkcji
zwrotnej
Tworzenie tablicy tablic
]]>
&example.outputs;
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
)
)
]]>
Zwracana tablica zachowa klucze tablicy podanej jako argument jeśli i tylko
jeśli przekazany zostanie dokładnie jedna tablica. Jeśli zostanie przekazana
więcej niż jedna tablica, zwrócona tablica otrzyma kolejne klucze numeryczne.
array_map - z kluczami tekstowymi
"wartość");
function cb1($a) {
return array ($a);
}
function cb2($a, $b) {
return array ($a, $b);
}
var_dump(array_map("cb1", $arr));
var_dump(array_map("cb2", $arr, $arr));
var_dump(array_map(null, $arr));
var_dump(array_map(null, $arr, $arr));
?>
]]>
&example.outputs;
array(1) {
[0]=>
string(5) "wartość"
}
}
array(1) {
[0]=>
array(2) {
[0]=>
string(5) "wartość"
[1]=>
string(5) "wartość"
}
}
array(1) {
["nazwa"]=>
string(5) "wartość"
}
array(1) {
[0]=>
array(2) {
[0]=>
string(5) "wartość"
[1]=>
string(5) "wartość"
}
}
]]>
&reftitle.seealso;
array_filter
array_reduce
array_walk
&seealso.callback;