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