array_map
Aplica la llamada de retorno especificada a los elementos de las matrices
dadas
&reftitle.description;
arrayarray_map
callbackllamada_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.
&reftitle.parameters;
llamada_de_retorno
Función tipo llamada de retorno a ejecutar para cada elemento en cada
matriz.
matriz1
Una matriz a recorrer con la función
llamada_de_retorno.
matriz
Lista variable de argumentos tipo matriz a recorrer con la función
llamada_de_retorno.
&reftitle.returnvalues;
Devuelve una matriz que contiene todos los elementos de
matriz1 después de aplicar la función
llamada_de_retorno a cada uno de ellos.
&reftitle.examples;
Ejemplo de array_map
]]>
Esto hace que $b contenga:
1
[1] => 8
[2] => 27
[3] => 64
[4] => 125
)
]]>
&reftitle.examples;
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);
?>
]]>
&example.outputs;
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.
Creación de una matriz de matrices
]]>
&example.outputs;
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
)
)
]]>
Si el argumento matriz contiene claves tipo cadena, entonces la matriz
devuelta tendrá claves tipo cadena si y solo si es pasada exactamente una
matriz. Si más de un argumento es pasado, entonces la matriz devuelta
siempre tendrá claves tipo entero.
array_map - con claves tipo cadena
"valor");
function llamada1($a) {
return array ($a);
}
function llamada2($a, $b) {
return array ($a, $b);
}
var_dump(array_map("llamada1", $matriz));
var_dump(array_map("llamada2", $matriz, $matriz));
var_dump(array_map(null, $matriz));
var_dump(array_map(null, $matriz, $matriz));
?>
]]>
&example.outputs;
array(1) {
[0]=>
string(5) "valor"
}
}
array(1) {
[0]=>
array(2) {
[0]=>
string(5) "valor"
[1]=>
string(5) "valor"
}
}
array(1) {
["clave_cadena"]=>
string(5) "valor"
}
array(1) {
[0]=>
array(2) {
[0]=>
string(5) "valor"
[1]=>
string(5) "valor"
}
}
]]>
&reftitle.seealso;
array_filter
array_reduce
array_walk
create_function
&seealso.callback;