Bird
Raised Fist0
PHPprogramming~10 mins

Array map function in PHP - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to apply a function to each element of the array using array_map.

PHP
<?php
$numbers = [1, 2, 3, 4];
$squared = array_map([1], $numbers);
print_r($squared);
?>
Drag options to blanks, or click blank then click option'
Afn($n) => $n * $n
Bfunction square($n) { return $n + 1; }
Carray_sum
Dcount
Attempts:
3 left
💡 Hint
Common Mistakes
Using a function that does not return the squared value.
Passing a function name as a string without defining it.
2fill in blank
medium

Complete the code to convert all strings in the array to uppercase using array_map.

PHP
<?php
$words = ['apple', 'banana', 'cherry'];
$uppercased = array_map([1], $words);
print_r($uppercased);
?>
Drag options to blanks, or click blank then click option'
Astrtoupper
Btrim
Cstrlen
Dstrtolower
Attempts:
3 left
💡 Hint
Common Mistakes
Using strtolower which converts to lowercase instead.
Using strlen which returns string length, not the string itself.
3fill in blank
hard

Fix the error in the code to correctly double each number in the array using array_map.

PHP
<?php
$nums = [2, 4, 6];
$doubled = array_map([1], $nums);
print_r($doubled);
?>
Drag options to blanks, or click blank then click option'
Afunction($x) { return $x * 3; }
Bfunction double($x) { return $x + 2; }
Cfn($x) => $x * 2
Darray_sum
Attempts:
3 left
💡 Hint
Common Mistakes
Using a function that triples the number instead of doubling.
Using a function that adds 2 instead of multiplying.
4fill in blank
hard

Fill both blanks to create an array mapping each word to its length, but only for words longer than 3 characters.

PHP
<?php
$words = ['cat', 'elephant', 'dog', 'giraffe'];
$lengths = array_map([1], array_filter($words, fn($word) => strlen($word) [2] 3));
print_r($lengths);
?>
Drag options to blanks, or click blank then click option'
Astrlen
B<=
C>
Dcount
Attempts:
3 left
💡 Hint
Common Mistakes
Using <= instead of > in the filter condition.
Using count instead of strlen for string length.
5fill in blank
hard

Fill both blanks to create an array of uppercase words that have length less than 6.

PHP
<?php
$words = ['apple', 'banana', 'pear', 'kiwi', 'grape'];
$result = array_map([1], array_filter($words, fn($word) => strlen($word) [2] 6));
print_r($result);
?>
Drag options to blanks, or click blank then click option'
Astrtoupper
B<
C<=
Dstrtolower
Attempts:
3 left
💡 Hint
Common Mistakes
Using strtolower instead of strtoupper.
Using <= instead of < in the filter condition.

Practice

(1/5)
1. What does the PHP function array_map do?
easy
A. Deletes elements from an array based on a condition
B. Merges two or more arrays into one
C. Sorts the elements of an array in ascending order
D. Applies a function to each element of an array and returns a new array

Solution

  1. Step 1: Understand the purpose of array_map

    The function applies a given callback function to each element of the input array.
  2. Step 2: Identify the output of array_map

    It returns a new array with the results of the callback function applied to each element.
  3. Final Answer:

    Applies a function to each element of an array and returns a new array -> Option D
  4. Quick Check:

    array_map = apply function to array elements [OK]
Hint: Remember: array_map transforms each item, returns new array [OK]
Common Mistakes:
  • Thinking array_map modifies the original array
  • Confusing array_map with array_filter
  • Assuming array_map merges arrays
2. Which of the following is the correct syntax to use array_map in PHP?
easy
A. array_map(function, array);
B. array_map(array, function);
C. array_map->function(array);
D. array_map(function => array);

Solution

  1. Step 1: Recall the function signature

    The correct syntax is array_map(callback_function, array_to_process).
  2. Step 2: Match the options with the syntax

    array_map(function, array); matches the correct order: function first, then array.
  3. Final Answer:

    array_map(function, array); -> Option A
  4. Quick Check:

    array_map(callback, array) syntax [OK]
Hint: Function comes first, array second in array_map [OK]
Common Mistakes:
  • Swapping the order of function and array
  • Using arrow or assignment syntax incorrectly
  • Using object method syntax instead of function call
3. What is the output of the following PHP code?
$numbers = [1, 2, 3];
$result = array_map(fn($n) => $n * 2, $numbers);
print_r($result);
medium
A. [2, 4, 6]
B. [1, 2, 3]
C. [3, 4, 5]
D. Error: Invalid callback

Solution

  1. Step 1: Understand the callback function

    The callback doubles each number: $n * 2.
  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].
  3. Final Answer:

    [2, 4, 6] -> Option A
  4. Quick Check:

    Each element doubled = [2, 4, 6] [OK]
Hint: Multiply each element by 2 in the callback [OK]
Common Mistakes:
  • Expecting original array unchanged
  • Confusing the callback operation
  • Thinking print_r outputs a string, not array
4. Identify the error in this PHP code using array_map:
$arr = [1, 2, 3];
$result = array_map('double', $arr);
function double($x) {
  return $x * 2;
}
print_r($result);
medium
A. array_map requires an anonymous function, not a named function
B. No error, code runs correctly
C. Function double is called before it is defined
D. Missing semicolon after array_map call

Solution

  1. 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.
  2. Step 2: Verify syntax and function type

    array_map accepts named functions as callbacks, and semicolons are correctly placed.
  3. Final Answer:

    No error, code runs correctly -> Option B
  4. Quick Check:

    Named function callback works fine [OK]
Hint: PHP functions can be used before definition [OK]
Common Mistakes:
  • Assuming function must be defined before use
  • Thinking only anonymous functions work in array_map
  • Missing semicolon errors where none exist
5. Given an array of strings ['apple', 'banana', 'cherry'], how can you use array_map to create a new array with the length of each string?
hard
A. array_map(fn($s) => size($s), ['apple', 'banana', 'cherry']);
B. array_map(fn($s) => count($s), ['apple', 'banana', 'cherry']);
C. array_map(fn($s) => strlen($s), ['apple', 'banana', 'cherry']);
D. array_map(fn($s) => $s.length, ['apple', 'banana', 'cherry']);

Solution

  1. Step 1: Identify the correct function to get string length

    In PHP, strlen() returns the length of a string.
  2. Step 2: Apply strlen in array_map callback

    Using fn($s) => strlen($s) applies length calculation to each string.
  3. Final Answer:

    array_map(fn($s) => strlen($s), ['apple', 'banana', 'cherry']); -> Option C
  4. Quick Check:

    Use strlen() for string length in array_map [OK]
Hint: Use strlen() inside array_map callback for string lengths [OK]
Common Mistakes:
  • Using count() which counts array elements, not string length
  • Trying to access string length with dot notation
  • Using non-existent size() function
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard