Descripción
array
array_map ( callback llamada_de_retorno, array matriz1 [, array ...] )
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().
Ejemplo 1. Ejemplo de array_map()
<?php function cubo($n) { return($n * $n * $n); }
$a = array(1, 2, 3, 4, 5); $b = array_map("cubo", $a); print_r($b); ?>
|
Esto hace que $b contenga:
Array
(
[0] => 1
[1] => 8
[2] => 27
[3] => 64
[4] => 125
) |
|
Ejemplo 2. array_map() - usando más
matrices
<?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); ?>
|
El resultado del ejemplo seria: // 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 las matrices son de longitudes diferentes,
la más corta de ellas será extendida 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.
Ejemplo 3. Creación de una matriz de matrices
<?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); ?>
|
El resultado del ejemplo seria: 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
)
) |
|
Vea también array_filter(),
array_reduce(),
array_walk(), y information about the callback type.