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