Simplifying PHP Arrays: A Guide to array_map, array_filter, and array_merge

jochelle mendonca
3 min readOct 16, 2023
Photo by Christopher Gower on Unsplash

Hello fellow developers. Today, I want to share some essential array functions in PHP — array_map, array_filter, and array_merge. As someone who uses these functions day in and day out, I understand that they might seem a bit mysterious at first. But fret not, I'm here to break it down in the simplest way possible.

1: Transforming Arrays with array_map

Think of array_map as your trusty toolkit for transforming an array without the need for complex loops. It applies a callback function to each element of an array, creating a brand new array with the modified values. It's like a conveyor belt that processes your items one by one.

Pro Tip: It preserves the array’s keys, so you won’t lose your valuable index information.

Also, you can use multiple arrays with array_map. Just make sure they're of the same length, and the callback function can handle them.

Example:

Let’s say we have an array of numbers, and we want to square each of them. Here’s how you’d put array_map to work:

$numbers = [1, 2, 3, 4, 5];
$squared = array_map(function($number) {
return $number * $number;
}, $numbers);

The result is $squared, which now contains [1, 4, 9, 16, 25].

2: Filtering Arrays with array_filter

Now, imagine you have an array that needs some decluttering. array_filter is your tidy-up assistant. It checks each element against a condition set by a callback function and returns a new array with only the items that meet the criteria. It's like a magic sieve for your data.

Pro Tip: You can use array_filter without a callback function to remove all "falsy" values (e.g., empty strings, null, false, 0).

Example:

Suppose you have an array of numbers, and you want to keep only the even ones. Here’s how array_filter can help:

$numbers = [1, 2, 3, 4, 5];
$evens = array_filter($numbers, function($number) {
return $number % 2 === 0;
});

The result? $evens holds [2, 4].

3: Merging Arrays with array_merge

Lastly, array_merge is your trusty tool for combining arrays. It's like mixing ingredients for a delicious recipe. You can blend two or more arrays into one, creating a new array with all the elements. It's your go-to function for merging data seamlessly.

Pro Tip: To maintain the original keys, you can use the + operator or array_merge with the + operator to merge associative arrays.

Example:

Let’s say you have two arrays — one with fruits and another with vegetables — and you want to create a single grocery list. array_merge makes it happen:

$fruits = ["apple", "banana", "cherry"];
$vegetables = ["carrot", "broccoli", "spinach"];
$groceryList = array_merge($fruits, $vegetables);

Now, $groceryList contains ["apple", "banana", "cherry", "carrot", "broccoli", "spinach"].

In a Developer’s Perspective:

As a developer, these array functions are your daily allies. They simplify your code, make it cleaner, and save you time. You can focus on the logic you want to implement, rather than worrying about intricate loop management.

For beginners, these functions might be a bit like discovering a superpower. With just a few lines of code, you can transform, filter, or merge arrays effortlessly. And as you gain confidence and experience, you’ll find these tools invaluable in your PHP development journey.

So, embrace the array functions, and let them work their magic in your PHP projects. Happy coding!

--

--

jochelle mendonca

Passionate PHP developer. Enthusiastic about the power of words, equally adept at reading and writing