What if you could change every item in a list with just one simple command instead of repeating yourself?
Why Array map function in PHP? - Purpose & Use Cases
Imagine you have a list of prices and you want to add tax to each price manually by writing code for each item.
Doing this manually means repeating code for every item, which is slow and easy to make mistakes. If the list grows, your code becomes messy and hard to fix.
The array map function lets you apply the same change to every item in the list with just one simple command, making your code clean and error-free.
$prices = [10, 20, 30]; $prices_with_tax = []; $prices_with_tax[] = $prices[0] * 1.1; $prices_with_tax[] = $prices[1] * 1.1; $prices_with_tax[] = $prices[2] * 1.1;
$prices = [10, 20, 30]; $prices_with_tax = array_map(fn($price) => $price * 1.1, $prices);
You can quickly transform every item in a list with one clear, simple command.
Updating a list of product prices to include tax or discounts without rewriting code for each product.
Manual changes to each item are slow and error-prone.
Array map applies a function to every item automatically.
This makes code shorter, cleaner, and easier to maintain.
Practice
array_map do?Solution
Step 1: Understand the purpose of array_map
The function applies a given callback function to each element of the input array.Step 2: Identify the output of array_map
It returns a new array with the results of the callback function applied to each element.Final Answer:
Applies a function to each element of an array and returns a new array -> Option DQuick Check:
array_map = apply function to array elements [OK]
- Thinking array_map modifies the original array
- Confusing array_map with array_filter
- Assuming array_map merges arrays
array_map in PHP?Solution
Step 1: Recall the function signature
The correct syntax is array_map(callback_function, array_to_process).Step 2: Match the options with the syntax
array_map(function, array); matches the correct order: function first, then array.Final Answer:
array_map(function, array); -> Option AQuick Check:
array_map(callback, array) syntax [OK]
- Swapping the order of function and array
- Using arrow or assignment syntax incorrectly
- Using object method syntax instead of function call
$numbers = [1, 2, 3]; $result = array_map(fn($n) => $n * 2, $numbers); print_r($result);
Solution
Step 1: Understand the callback function
The callback doubles each number: $n * 2.Step 2: Apply the callback to each element
1*2=2, 2*2=4, 3*2=6, so the new array is [2, 4, 6].Final Answer:
[2, 4, 6] -> Option AQuick Check:
Each element doubled = [2, 4, 6] [OK]
- Expecting original array unchanged
- Confusing the callback operation
- Thinking print_r outputs a string, not array
array_map:$arr = [1, 2, 3];
$result = array_map('double', $arr);
function double($x) {
return $x * 2;
}
print_r($result);Solution
Step 1: Check function definition and usage
The function double is defined after the array_map call, but PHP allows this because functions are hoisted.Step 2: Verify syntax and function type
array_map accepts named functions as callbacks, and semicolons are correctly placed.Final Answer:
No error, code runs correctly -> Option BQuick Check:
Named function callback works fine [OK]
- Assuming function must be defined before use
- Thinking only anonymous functions work in array_map
- Missing semicolon errors where none exist
['apple', 'banana', 'cherry'], how can you use array_map to create a new array with the length of each string?Solution
Step 1: Identify the correct function to get string length
In PHP,strlen()returns the length of a string.Step 2: Apply strlen in array_map callback
Usingfn($s) => strlen($s)applies length calculation to each string.Final Answer:
array_map(fn($s) => strlen($s), ['apple', 'banana', 'cherry']); -> Option CQuick Check:
Use strlen() for string length in array_map [OK]
- Using count() which counts array elements, not string length
- Trying to access string length with dot notation
- Using non-existent size() function
Ready to prove it?
Pass the test and this pattern moves unknown
