A popular question asked during interviews is to apply the FizzBuzz logic to a range of numbers. This normally means the following:

- If a number is divisible by 3, print Fizz.
- If a number is divisible by 5, print Buzz.
- If a number is divisible by 3 and 5, or 15, print FizzBuzz

Most examples out there demonstrate solving this problem using traditional loops. I want to try something different though.

Let's solve this using the array_map function.

So let's assume the given range is from 1 to 100.

Instead of writing this: *(using loops and a function)*

```
function translate($number)
{
if($number % 15 === 0) {
return 'FizzBuzz';
}
if($number % 3 === 0) {
return 'Fizz';
}
if($number % 5 === 0) {
return 'Buzz';
}
return $number;
}
$results = [];
for($number = 1; $number <= 100; $number++) {
$results[] = translate($number);
}
```

We can actually solve it this way below

```
$results = array_map(function($number) {
if($number % 15 === 0) return 'FizzBuzz';
if($number % 3 === 0) return 'Fizz';
if($number % 5 === 0) return 'Buzz';
return $number;
}, range(1,100));
```

Definitely cleaner to me, and much easier to consume. Let me know what you think in the comments below.