array_map
Aplica la llamada de retorno especificada a los elementos de las
matrices dadas
Descripción
arrayarray_map
mixedllamada_de_retorno
arraymatriz1
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 de array_map
]]>
Esto hace que $b contenga:
1
[1] => 8
[2] => 27
[3] => 64
[4] => 125
)
]]>
array_map - usando más matrices
$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:
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.
Creación de una matriz de matrices
]]>
La salida del anterior programa será:
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, y
array_walk.