array_map() devuelve una matriz que contiene todos
los elementos de matriz1 después de
haber aplicado la función
llamada_de_retorno a cada uno de ellos_ El
número de parámetros que la función
llamada_de_retorno acepte debería
coincidir con el número de matrices que son pasadas como
argumentos a array_map()_
<?php
function mostrar_Castellano($n, $m) {
return("El número $n es llamado $m en Castellano");
}
function map_Castellano($n, $m) {
return(array($n => $m));
}
$a = array(1, 2, 3, 4, 5);
$b = array("uno", "dos", "tres", "cuatro", "cinco");
$c = array_map("mostrar_Castellano", $a, $b);
print_r($c);
$d = array_map("map_Castellano", $a , $b);
print_r($d);
?>
Esto produce:
// salida correspondiente a $c
Array
(
[0] => El número 1 es llamado uno en Castellano
[1] => El número 2 es llamado dos en Castellano
[2] => El número 3 es llamado tres en Castellano
[3] => El número 4 es llamado cuatro en Castellano
[4] => El número 5 es llamado cinco en Castellano
)
// salida correspondiente a $d
Array
(
[0] => Array
(
[1] => uno
)
[1] => Array
(
[2] => dos
)
[2] => Array
(
[3] => tres
)
[3] => Array
(
[4] => cuatro
)
[4] => Array
(
[5] => cinco
)
)
Usualmente cuando se usan dos o más matrices, éstas
deberían ser de longitudes iguales ya que la llamada de retorno
es aplicada en paralelo a los elementos correspondientes_ Si los
arreglos son de longitudes diferentes, el más corto de ellos
será extendido con elementos vacíos_
Un uso interesante de esta función es la construcción de
una matriz de matrices, que puede ser llevada a cabo usando NULL
como el nombre de la llamada de retorno_