Avatar ·

¿Cuál es la diferencia entre array_map, array_walk y array_filter en PHP?

¡Hola a todos! Acabo de empezar a aprender PHP y no puedo entender la diferencia entre las funciones array_map, array_walk y array_filter. Parece que todas aceptan un callback y lo aplican a un array. Pero cuando intento usarlas en código real, los resultados son diferentes o simplemente no sé cuál elegir. Por ejemplo, tengo un array de números: ```php $numbers = [1, 2, 3, 4, 5]; ``` Quiero: 1. Multiplicar cada número por 2. 2. Mostrar cada número con el prefijo "Number: ". 3. Filtrar solo los números pares. Probé array_map: ```php $doubled = array_map(function($n) { return $n * 2; }, $numbers); ``` Parece funcionar, devuelve un nuevo array. ¿Pero array_walk también se puede usar? ¿O array_filter? Probé array_walk: ```php array_walk($numbers, function(&$n) { $n *= 2; }); ``` Ahora $numbers ha cambiado. ¿Y si solo quiero mostrar, no modificar? Y array_filter: ```php $even = array_filter($numbers, function($n) { return $n % 2 == 0; }); ``` Aquí parece