Función array_map() de PHP: Una guía completa
La función array_map en PHP es una herramienta esencial para transformar arreglos de datos. Permite a los desarrolladores aplicar una función de devolución de llamada (callback) a cada elemento de un arreglo y luego devolver un nuevo arreglo con los resultados. Esta es una técnica versátil y poderosa para procesar datos en PHP, y puede utilizarse en una amplia variedad de aplicaciones.
¿Cómo funciona array_map?
La sintaxis básica de la función array_map es la siguiente:
Sintaxis de la función array_map en PHP
array_map(callback, array1, array2, ...);Aquí, el argumento callback es la función que se aplicará a cada elemento de los arreglos. Los demás argumentos son los arreglos que se procesarán. Por ejemplo, considera el siguiente código:
Ejemplo de uso de la función array_map en PHP
<?php
$numbers = [1, 2, 3, 4, 5];
function square($n) {
return $n * $n;
}
$squared = array_map('square', $numbers);
print_r($squared);
?>Este código define una función simple, square, que toma un número y devuelve su cuadrado. Luego, la función array_map se utiliza para aplicar esta función a cada elemento del arreglo $numbers. El resultado es un nuevo arreglo, $squared, que contiene los cuadrados de los números originales.
Nota sobre las longitudes de los arreglos: Cuando se pasan múltiples arreglos a array_map, continúa procesando hasta que se agota el arreglo más largo. Si los arreglos tienen longitudes desiguales, los elementos faltantes en los arreglos más cortos se tratan automáticamente como null.
Nota sobre la sintaxis moderna: En PHP 7.4+, puedes usar funciones flecha para devoluciones de llamada concisas. Por ejemplo: array_map(fn($n) => $n * $n, $numbers);
Ejemplos del mundo real de array_map
La función array_map es extremadamente versátil y puede utilizarse en muchos contextos diferentes. Aquí tienes algunos ejemplos para que te hagas una idea de su potencia:
Transformación de arreglos de cadenas
Transformación de arreglos de cadenas en PHP usando la función array_map
<?php
$words = ['foo', 'bar', 'baz'];
function upper($str) {
return strtoupper($str);
}
$upper_words = array_map('upper', $words);
print_r($upper_words);
?>En este ejemplo, la función array_map se utiliza para convertir un arreglo de cadenas a mayúsculas. La función upper toma una cadena y devuelve su equivalente en mayúsculas. Cuando esta función se aplica a cada elemento del arreglo $words, el resultado es un nuevo arreglo con las versiones en mayúsculas de las palabras originales.
Combinación de arreglos con array_map
Combinación de arreglos en PHP con array_map
<?php
$a = [1, 2, 3];
$b = [10, 20, 30];
function sum($a, $b) {
return $a + $b;
}
$c = array_map('sum', $a, $b);
print_r($c);
?>En este ejemplo, dos arreglos, $a y $b, se combinan en un tercer arreglo, $c. La función sum toma dos argumentos y devuelve su suma. La función array_map se utiliza para aplicar esta función a cada par correspondiente de elementos en $a y $b. El resultado es un nuevo arreglo, $c, que contiene las sumas de los pares originales.
Conclusión
La función array_map en PHP es una herramienta increíblemente poderosa para transformar arreglos de datos. Ya sea que estés convirtiendo cadenas a mayúsculas, combinando arreglos o realizando otro tipo de cálculo, array_map es la herramienta perfecta para la tarea. Con su sintaxis flexible y su capacidad para trabajar con múltiples arreglos a la vez, es una función imprescindible para cualquier desarrollador de PHP.
Practice
¿Qué es cierto sobre la función array_map() en PHP?