array_map
Aplica la llamada de retorno especificada a los elementos de los dados
&reftitle.description;
arrayarray_map
callablecallback
arrayarr1
array...
array_map devuelve un array que contiene todos los
elementos de arr1 después de haber aplicado la
función callback a cada uno de ellos.
El número de parámetros que la función callback
acepte debería coincidir con el número de arrays que son
pasados como argumentos a array_map.
&reftitle.parameters;
callback
Función tipo llamada de retorno a ejecutar para cada elemento en cada array.
arr1
Un array a recorrer con la función callback.
array
Lista variable de argumentos tipo array a recorrer con la
función callback.
&reftitle.returnvalues;
Devuelve un array que contiene todos los elementos de arr1
después de aplicar la función callback 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
)
]]>
array_map usando la una función lamba (desde PHP 5.3.0)
]]>
2
[1] => 4
[2] => 6
[3] => 8
[4] => 10
)
]]>
array_map - usando más arrays
$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);
?>
]]>
&example.outputs;
The number 1 is called uno in Spanish
[1] => The number 2 is called dos in Spanish
[2] => The number 3 is called tres in Spanish
[3] => The number 4 is called cuatro in Spanish
[4] => The number 5 is called cinco in Spanish
)
// printout of $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 array, estos deberían ser de
longitudes iguales ya que la llamada de retorno es aplicada en paralelo a
los elementos correspondientes. Si los arrays 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 un array de
arrays, que puede ser llevada a cabo usando &null; como el nombre de la
llamada de retorno.
Creando un array de arrays
]]>
&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 array contiene claves tipo cadena, entonces el array
devuelto tendrá claves tipo cadena si y solo si es pasado exactamente un
array. Si más de un argumento es pasado, entonces el array devuelto
siempre tendrá claves tipo entero.
array_map - con claves tipo cadena
"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));
?>
]]>
&example.outputs;
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"
}
}
]]>
&reftitle.seealso;
array_filter
array_reduce
array_walk
create_function
&seealso.callback;