Método array_map() : El método array_map() se usa para modificar todos los elementos en una o más arrays de acuerdo con alguna condición definida por el usuario de una manera sencilla. Básicamente, envía cada uno de los elementos de una array a una función definida por el usuario y devuelve una array con nuevos valores modificados por esa función.
Sintaxis:
array_map(functionName, arr1, arr2...)
Parámetros: Esta función toma 2 parámetros obligatorios functionName y arr1 y el resto son opcionales.
- functionName (obligatorio): este parámetro define el nombre de la función definida por el usuario según la cual se modificarán los valores en la array.
- arr1 (obligatorio): este parámetro especifica la array que se modificará.
- arr2 (obligatorio): este parámetro especifica la array que se modificará.
El parámetro functionName es obligatorio y podemos pasar cualquier cantidad de arrays a esta función denominada arr1, arr2, …, arrn, etc.
Valor devuelto: esta función devuelve una array que contiene todos los elementos de arr1 después de aplicar la función de usuario a cada uno.
Ejemplo: El siguiente ejemplo ilustra el funcionamiento de la función array_map() en PHP.
PHP
<?php function fun1($v) { return ($v + 7); // add 7 } function fun2($v1, $v2) { if ($v1 == $v2) return 1; else return 0; } $arr1 = array(1, 2, 3, 4, 5); $arr2 = array(1, 3, 3, 4, 8); print_r(array_map("fun1", $arr1)); print_r(array_map("fun2", $arr1, $arr2)); ?>
Producción:
Array ( [0] => 8 [1] => 9 [2] => 10 [3] => 11 [4] => 12 ) Array ( [0] => 1 [1] => 0 [2] => 1 [3] => 1 [4] => 0 )
Método array_walk() : El método array_walk() recorre toda la array independientemente de la posición del puntero y aplica una función de devolución de llamada o una función definida por el usuario a cada elemento de la array. Las claves y los valores del elemento de array son parámetros en la función de devolución de llamada.
Sintaxis :
boolean array_walk($array, myFunction, $extraParam)
Parámetros : Esta función acepta tres parámetros como se describe a continuación.
- $array: este es un parámetro obligatorio y especifica la array de entrada.
- myFunction: este parámetro especifica el nombre de la función definida por el usuario y también es obligatorio. La función definida por el usuario generalmente exceptúa dos parámetros de los cuales el primer parámetro representa los valores de la array y el segundo parámetro representa las claves correspondientes.
- $extraparam: este es un parámetro opcional. Especifica un parámetro adicional a la función definida por el usuario además de los dos parámetros, claves de array y valores.
Valor de retorno: esta función devuelve un valor booleano. Devuelve VERDADERO en caso de éxito o FALSO en caso de fallo.
Ejemplo: El siguiente ejemplo ilustra el método array_walk() .
PHP
<?php // PHP program to illustrate array_walk() method // User-defined callback function function myfunction($value, $key) { echo "The key $key has the value $value </br>"; } // Input array $arr = array( "a" => "yellow", "b" => "pink", "c" => "purple" ); // Calling array_walk() method with // no extra parameter array_walk($arr, "myfunction"); ?>
Producción:
The key a has the value yellow The key b has the value pink The key c has the value purple
Método array_filter() : este método se utiliza para filtrar los elementos de una array mediante una función definida por el usuario que también se denomina función de devolución de llamada. La función array_filter() itera sobre cada valor de la array, pasándolos a la función definida por el usuario o la función de devolución de llamada. Si la función de devolución de llamada devuelve verdadero, el valor actual de la array se devuelve a la array de resultados; de lo contrario, no. Las claves de la array se conservan, es decir, la clave del elemento en la array original y la array de salida es la misma.
Sintaxis:
array array_filter($array, $callback_function, $flag)
Parámetros : La función toma tres parámetros, de los cuales uno es obligatorio y los otros dos son opcionales.
- $array (obligatorio): Esto se refiere a la array de entrada en la que se realizará la operación de filtro.
- $callback_function (opcional): Hace referencia a la función definida por el usuario. Si no se proporciona la función, se eliminarán todas las entradas de la array que sean FALSO.
- $bandera (opcional): se refiere a los argumentos pasados a la función de devolución de llamada.
- ARRAY_FILTER_USE_KEY: pasa la clave como único argumento a una función de devolución de llamada, en lugar del valor de la array.
- ARRAY_FILTER_USE_BOTH: pasa tanto el valor como la clave como argumentos para la devolución de llamada en lugar del valor.
Valor devuelto: la función devuelve una array filtrada.
Ejemplo: a continuación se muestra un programa que muestra cómo devolver o filtrar incluso elementos de una array utilizando la función array_filter() .
PHP
<?php // PHP function to check for even // elements in an array function Even($array) { // Returns if the input integer is even if($array % 2 == 0) return TRUE; else return FALSE; } $array = array(12, 0, 0, 18, 27, 0, 46); print_r(array_filter($array, "Even")); ?>
Producción:
Array ( [0] => 12 [1] => 0 [2] => 0 [3] => 18 [5] => 0 [6] => 46 )
diferencias :
array_mapa() | array_walk() | array_filtro() |
Esta función aplica la devolución de llamada a los elementos presentes en la array. | Esta función aplica la función de devolución de llamada definida por el usuario a cada elemento de la array de entrada dada. | Esta función se utiliza para filtrar los elementos presentes en una array mediante una función de devolución de llamada. |
Esta función de devolución de llamada de array_map() se ejecuta para cada elemento de cada array. | La función array_walk() aplica una función proporcionada por el usuario a cada miembro de una array | array_filter() itera sobre cada valor en la array pasándolos a la función de devolución de llamada |
Publicación traducida automáticamente
Artículo escrito por bhanusivanagulug y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA