   #PHP Manual Array Functions array_keys array_merge_recursive

   PHP Manual
   Prev  Next
   ______________________________________________________________________

                                   array_map

   (PHP 4 >= 4.0.6)
   array_map --  Applies the callback to the elements of the given arrays

Description

   array array_map ( mixed callback, array arr1 [, array ...])

   array_map() returns an array containing all the elements of arr1 after
   applying the callback function to each one. The number of parameters
   that the callback function accepts should match the number of arrays
   passed to the array_map()

   Example 1. array_map() example
   <?php
   function cube($n) {
       return($n * $n * $n);
   }
   $a = array(1, 2, 3, 4, 5);
   $b = array_map("cube", $a);
   print_r($b);
   ?>

   This makes $b have:
Array
(
    [0] => 1
    [1] => 8
    [2] => 27
    [3] => 64
    [4] => 125
)

   Example 2. array_map() - using more arrays
   <?php
   function show_Spanish($n, $m) {
       return("The number $n is called $m in Spanish");
   }
   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);
   $d = array_map("map_Spanish", $a , $b);
   print_r($d);
   ?>

   This results:
// printout of $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
)

// printout of $d
Array
(
    [0] => Array
        (
            [1] => uno
        )

    [1] => Array
        (
            [2] => dos
        )

    [2] => Array
        (
            [3] => tres
        )

    [3] => Array
        (
            [4] => cuatro
        )

    [4] => Array
        (
            [5] => cinco
        )

)

   Usually when using two or more arrays, they should be of equal length
   because the callback function is applied in parallel to the
   corresponding elements. If the arrays are of unequal length, the
   shortest one will be extended with empty elements.

   An interesting use of this function is to construct an array of
   arrays, which can be easily performed by using NULL as the name of the
   callback function

   Example 3. Creating an array of arrays
   <?php
   $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);
   ?>

   The printout of the program above will be:
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
        )

)

   See also array_filter(), array_reduce(), and array_walk().
   ______________________________________________________________________

   Prev       Home                  Next
   array_keys  Up  array_merge_recursive
