array_map Aplica la retrollamada a los elementos de los arrays dados &reftitle.description; arrayarray_map callablecallback arrayarray1 array... array_map devuelve un array que contiene todos los elementos de array1 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 acepta debería coincidir con el número de arrays proporcionados a array_map. &reftitle.parameters; callback Función de retrollamada a ejecutar para cada elemento de cada array. array1 Un array a recorrer con la función callback. ... Lista variable de argumentos de tipo array a recorrer con la función callback. &reftitle.returnvalues; Devuelve un array que contiene todos los elementos de array1 después de aplicar la función callback a cada uno de ellos. &reftitle.examples; Ejemplo de <function>array_map</function> ]]> Este ejemplo hace que $b contenga: 1 [1] => 8 [2] => 27 [3] => 64 [4] => 125 ) ]]> <function>array_map</function> usando una función lambda (desde PHP 5.3.0) ]]> 2 [1] => 4 [2] => 6 [3] => 8 [4] => 10 ) ]]> <function>array_map</function> - usando más arrays $m)); } $a = array(1, 2, 3, 4, 5); $b = array("uno", "dos", "tres", "cuatro", "cinco"); $c = array_map("mostrar_en_español", $a, $b); print_r($c); $d = array_map("correspondencia_en_español", $a , $b); print_r($d); ?> ]]> &example.outputs; El número 1 se llama uno en español [1] => El número 2 se llama dos en español [2] => El número 3 se llama tres en español [3] => El número 4 se llama cuatro en español [4] => El número 5 se llama cinco en español ) // salida 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 arrays, estos deberían ser de la misma longitud, ya que la retrollamada se aplica en paralelo a los elementos correspondientes. Si los arrays son de longitudes diferentes, los más cortos se extenderán con elementos vacíos para que coincidan con la longitud del más largo. Un uso interesante de esta función es la construcción de un array de arrays, lo que se puede llevar a cabo usando &null; como el nombre de la retrollamada. Crear 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 ) ) ]]> El array devuelto conservará las claves del argumento array si y solo si se pasa exactamente un array. Si se pasa más de un array, el array devuelto tendrá claves secuenciales de tipo integer. <function>array_map</function> - con claves de tipo string "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