(PHP 4 >= 4.0.6, PHP 5, PHP 7)
array_map — Wendet eine Callback-Funktion auf die Elemente von Arrays an
   array_map() gibt ein Array mit allen Elementen von
   array1 zurück, nachdem die Callback-Funktion
   callback auf jedes einzelne Element angewandt
   wurde. Die Anzahl Parameter, welche die Callback-Funktion
   callback akzeptiert, sollte der Anzahl der an
   array_map() übergebenen Arrays entsprechen.
  
callbackCallback-Funktion, die für jedes Element in jedem Array aufgerufen werden soll.
array1
       Ein Array, auf das die callback-Funktion
       angewendet werden soll.
      
...
       Variable Liste von Array-Argumenten, auf die die
       callback-Funktion angewendet werden soll.
      
   Gibt ein Array zurück, das alle Elemente von
   array1 enthält, nachdem die
   callback-Funktion auf jedes Element
   angewendet wurde.
  
Beispiel #1 array_map()-Beispiel
<?php
function cube($n)
{
    return($n * $n * $n);
}
$a = array(1, 2, 3, 4, 5);
$b = array_map("cube", $a);
print_r($b);
?>
Dies speichert in $b:
Array
(
    [0] => 1
    [1] => 8
    [2] => 27
    [3] => 64
    [4] => 125
)
Beispiel #2 array_map() mit einer Lambda-Funktion (seit PHP 5.3.0)
<?php
/* Seit PHP 5.3.0 */
$func = function($value) { return $value * 2; };
print_r(array_map($func, range(1, 5)));
?>
Array
(
    [0] => 2
    [1] => 4
    [2] => 6
    [3] => 8
    [4] => 10
)
Beispiel #3 array_map() - Verwendung mehrerer Arrays
<?php
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);
$d = array_map("map_Spanish", $a , $b);
print_r($d);
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
// Ausgabe von $c
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
)
// Ausgabe von $d
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, werden kürzere um leere Elemente erweitert, um mit der Länge des längsten übereinzustimmen.
   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 #4 Erstellen eines Arrays mit Arrays
<?php
$a = array(1, 2, 3, 4, 5);
$b = array("eins", "zwei", "drei", "vier", "fünf");
$c = array("uno", "dos", "tres", "cuatro", "cinco");
$d = array_map(null, $a, $b, $c);
print_r($d);
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
Array
(
    [0] => Array
        (
            [0] => 1
            [1] => eins
            [2] => uno
        )
    [1] => Array
        (
            [0] => 2
            [1] => zwei
            [2] => dos
        )
    [2] => Array
        (
            [0] => 3
            [1] => drei
            [2] => tres
        )
    [3] => Array
        (
            [0] => 4
            [1] => vier
            [2] => cuatro
        )
    [4] => Array
        (
            [0] => 5
            [1] => fünf
            [2] => cinco
        )
)
Das zurückgelieferte Array erhält die Schlüssel des Array-Arguments nur, wenn genau ein Array übergeben wurde. Wird mehr als ein Array übergeben, hat das zurückgelieferte Array sequentielle Integer-Schlüssel.
Beispiel #5 array_map() - mit String-Schlüsseln
<?php
$arr = array("stringkey" => "value");
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));
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
array(1) {
  ["stringkey"]=>
  array(1) {
    [0]=>
    string(5) "value"
  }
}
array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(5) "value"
    [1]=>
    string(5) "value"
  }
}
array(1) {
  ["stringkey"]=>
  string(5) "value"
}
array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(5) "value"
    [1]=>
    string(5) "value"
  }
}