array_map
(PHP 4 >= 4.0.6)
array_map --
Wykonuje funkcjΩ zwrotn▒ na elementach podanej tablicy
Opis
array
array_map ( callback funkcja_zwrotna, array tbl1 [, array tbl2...])
array_map() zwraca tablicΩ zawieraj▒c▒ wszystkie
elementy tablicy tbl1 po u┐yciu na ka┐dej z nich
funkcji zwrotnej. Liczba parametr≤w funkcji zwrotnej powinna byµ r≤wna
liczbie tablic przekazanych do funkcji array_map().
Przyk│ad 1. Przyk│ad u┐ycia array_map() function szescian($n) {
return $n*$n*$n;
}
$a = array(1, 2, 3, 4, 5);
$b = array_map("szescian", $a);
print_r($b); |
Powy┐szy przyk│ad wy╢wietli:
Array
(
[0] => 1
[1] => 8
[2] => 27
[3] => 64
[4] => 125
) |
|
Przyk│ad 2.
array_map() - u┐ywanie wiΩkszej ilo╢ci tablic
function pokaz_po_Hiszpansku($n, $m) {
return "Po Hiszpa±sku liczba $n to $m";
}
function mapuj_na_Hiszpanski($n, $m) {
return array ($n => $m);
}
$a = array(1, 2, 3, 4, 5);
$b = array("uno", "dos", "tres", "cuatro", "cinco");
$c = array_map("pokaz_po_Hiszpansku", $a, $b);
print_r($c);
$d = array_map("mapuj_po_Hiszpansku", $a , $b);
print_r($d); |
Powy┐szy przyk│ad wy╢wietli:
// Zmienna $c
Array
(
[0] => The number 1 is called uno in Spanish
[1] => The number 2 is called dos in Spanish
[2] => The number 3 is called tres in Spanish
[3] => The number 4 is called cuatro in Spanish
[4] => The number 5 is called cinco in Spanish
)
// Zmienna $d
Array
(
[0] => Array
(
[1] => uno
)
[1] => Array
(
[2] => dos
)
[2] => Array
(
[3] => tres
)
[3] => Array
(
[4] => cuatro
)
[4] => Array
(
[5] => cinco
)
) |
|
Zazwyczaj u┐ywaj▒c dw≤ch lub wiΩcej tablic, powinny one byµ r≤wnej
d│ugo╢ci, poniewa┐ funkcja zwrotna jest wykonywana na odpowiadaj▒cych
sobie elementach tablic.
Je╢li tablice s▒ r≤┐nych d│ugo╢ci, kr≤tsze bΩd▒ rozszerzane u┐ywaj▒c
pustych element≤w.
Interesuj▒cym sposobem u┐ycia tej funkcji jest kontruowanie tablicy
tablic, co mo┐e byµ │atwo przeprowadzone przez podanie NULL jako nazwy
funkcji zwrotnej.
Przyk│ad 3. Tworzenie tablicy tablic $a = array(1, 2, 3, 4, 5);
$b = array("one", "two", "three", "four", "five");
$c = array("uno", "dos", "tres", "cuatro", "cinco");
$d = array("jeden", "dwa", "trzy", "cztery", "piΩµ");
$e = array_map(null, $a, $b, $c, $d);
print_r($e); |
Powy┐szy przyk│ad wy╢wietli:
Array
(
[0] => Array
(
[0] => 1
[1] => one
[2] => uno
[3] => jeden
)
[1] => Array
(
[0] => 2
[1] => two
[2] => dos
[3] => dwa
)
[2] => Array
(
[0] => 3
[1] => three
[2] => tres
[3] => trzy
)
[3] => Array
(
[0] => 4
[1] => four
[2] => cuatro
[3] => cztery
)
[4] => Array
(
[0] => 5
[1] => five
[2] => cinco
[3] => piΩµ
)
) |
|
Patrz tak┐e: array_filter(),
array_reduce().