Avatar ·

Qual é a diferença entre array_map, array_walk e array_filter no PHP?

Olá a todos! Comecei a estudar PHP e não consigo entender a diferença entre as funções array_map, array_walk e array_filter. Parece que todas aceitam um callback e o aplicam a um array. Mas quando tento usá-las em código real, os resultados são diferentes ou simplesmente não sei qual escolher. Por exemplo, tenho um array de números: ```php $numbers = [1, 2, 3, 4, 5]; ``` Quero: 1. Multiplicar cada número por 2. 2. Exibir cada número com o prefixo "Number: ". 3. Filtrar apenas os números pares. Tentei array_map: ```php $doubled = array_map(function($n) { return $n * 2; }, $numbers); ``` Parece funcionar, retorna um novo array. Mas array_walk também pode ser usado? Ou array_filter? Tentei array_walk: ```php array_walk($numbers, function(&$n) { $n *= 2; }); ``` Agora $numbers foi modificado. E se eu quiser apenas exibir, sem modificar? E array_filter: ```php $even = array_filter($numbers, function($n) { return $n % 2 == 0; }); ``` Aqui parece