Bird
Raised Fist0
PHPprogramming~10 mins

Array chunk and pad 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 split the array into chunks of size 2.

PHP
<?php
$numbers = [1, 2, 3, 4, 5];
$chunks = array_chunk($numbers, [1]);
print_r($chunks);
?>
Drag options to blanks, or click blank then click option'
A2
B3
C4
D1
Attempts:
3 left
💡 Hint
Common Mistakes
Using 3 instead of 2 will create chunks of size 3.
Using 1 will create chunks of single elements.
2fill in blank
medium

Complete the code to pad the last chunk to size 3 with zeros.

PHP
<?php
$numbers = [1, 2, 3, 4, 5];
$chunks = array_chunk($numbers, 3);
$last_chunk = $chunks[array_key_last($chunks)];
$padded = array_pad($last_chunk, [1], 0);
print_r($padded);
?>
Drag options to blanks, or click blank then click option'
A2
B3
C4
D5
Attempts:
3 left
💡 Hint
Common Mistakes
Padding to 2 will not add enough elements.
Padding to 5 adds unnecessary zeros.
3fill in blank
hard

Fix the error in the code to pad the array to length 6 with -1.

PHP
<?php
$arr = [1, 2, 3];
$padded = array_pad($arr, [1], -1);
print_r($padded);
?>
Drag options to blanks, or click blank then click option'
A6
B3
C2
D4
Attempts:
3 left
💡 Hint
Common Mistakes
Using 3 or less does not add padding.
Using 4 pads but not to the desired length 6.
4fill in blank
hard

Fill both blanks to create chunks of size 2 and pad each chunk to size 3 with 0.

PHP
<?php
$numbers = [1, 2, 3, 4, 5];
$chunks = array_chunk($numbers, [1]);
foreach ($chunks as &$chunk) {
    $chunk = array_pad($chunk, [2], 0);
}
print_r($chunks);
?>
Drag options to blanks, or click blank then click option'
A2
B3
C0
D1
Attempts:
3 left
💡 Hint
Common Mistakes
Using 3 for chunk size creates bigger chunks.
Padding to 0 does not add elements.
5fill in blank
hard

Fill all three blanks to chunk the array by 3, pad each chunk to 4 with -1, and print the result.

PHP
<?php
$values = [10, 20, 30, 40, 50, 60, 70];
$chunks = array_chunk($values, [1]);
foreach ($chunks as &$chunk) {
    $chunk = array_pad($chunk, [2], [3]);
}
print_r($chunks);
?>
Drag options to blanks, or click blank then click option'
A3
B4
C-1
D0
Attempts:
3 left
💡 Hint
Common Mistakes
Using 0 as padding value adds zeros instead of -1.
Padding to 3 does not add extra elements.

Practice

(1/5)
1. What does the PHP function array_chunk do?
easy
A. Splits an array into smaller arrays of a fixed size
B. Adds elements to the end of an array to reach a certain size
C. Removes duplicate values from an array
D. Sorts an array in ascending order

Solution

  1. Step 1: Understand the function purpose

    array_chunk is designed to split a large array into smaller arrays each having a fixed number of elements.
  2. Step 2: Compare with other options

    Adding elements to reach a size is done by array_pad, not array_chunk. Removing duplicates or sorting are unrelated functions.
  3. Final Answer:

    Splits an array into smaller arrays of a fixed size -> Option A
  4. Quick Check:

    array_chunk = split array [OK]
Hint: Remember: chunk means break into pieces [OK]
Common Mistakes:
  • Confusing array_chunk with array_pad
  • Thinking it sorts or removes duplicates
  • Assuming it modifies the original array in place
2. Which of the following is the correct syntax to pad an array $arr to size 5 with the value 0 using array_pad?
easy
A. $padded = array_pad($arr, 5);
B. $padded = array_pad(5, $arr, 0);
C. $padded = array_pad($arr, 5, 0);
D. $padded = array_pad($arr, 0, 5);

Solution

  1. Step 1: Recall array_pad syntax

    The correct syntax is array_pad(array, size, value), where the first argument is the array, second is the desired size, third is the padding value.
  2. Step 2: Check each option

    $padded = array_pad($arr, 5, 0); matches the correct order and arguments. Options B and C have wrong argument order. $padded = array_pad($arr, 5); misses the padding value.
  3. Final Answer:

    $padded = array_pad($arr, 5, 0); -> Option C
  4. Quick Check:

    array_pad(array, size, value) correct order [OK]
Hint: Remember: array_pad(array, size, value) [OK]
Common Mistakes:
  • Swapping argument order
  • Omitting the padding value
  • Passing size as first argument
3. What is the output of the following PHP code?
$arr = [1, 2, 3, 4, 5];
$chunks = array_chunk($arr, 2);
print_r($chunks);
medium
A. [[1, 2, 3], [4, 5]]
B. [[1, 2], [3, 4], [5]]
C. [[1, 2], [3, 4], [5, null]]
D. [1, 2, 3, 4, 5]

Solution

  1. Step 1: Understand array_chunk behavior

    array_chunk splits the array into smaller arrays each with 2 elements, except the last chunk which may have fewer if elements run out.
  2. Step 2: Apply to given array

    Splitting [1,2,3,4,5] by 2 gives chunks: [1,2], [3,4], and [5]. No padding is added by array_chunk.
  3. Final Answer:

    [[1, 2], [3, 4], [5]] -> Option B
  4. Quick Check:

    array_chunk splits into groups of 2 [OK]
Hint: Last chunk may be smaller if not divisible [OK]
Common Mistakes:
  • Expecting padding in array_chunk
  • Confusing chunk size with number of chunks
  • Assuming all chunks have equal length always
4. Identify the error in this PHP code snippet:
$arr = [1, 2];
$padded = array_pad($arr, 5);
print_r($padded);
medium
A. print_r cannot print arrays
B. array_pad cannot increase array size
C. array_pad requires the size to be smaller than original
D. Missing the padding value argument in array_pad

Solution

  1. Step 1: Check array_pad function signature

    array_pad requires three arguments: the array, the new size, and the value to pad with.
  2. Step 2: Identify missing argument

    The code calls array_pad with only two arguments, missing the padding value, which causes an error.
  3. Final Answer:

    Missing the padding value argument in array_pad -> Option D
  4. Quick Check:

    array_pad needs 3 arguments [OK]
Hint: array_pad needs array, size, and value [OK]
Common Mistakes:
  • Forgetting the padding value
  • Assuming array_pad works with two arguments
  • Thinking print_r can't print arrays
5. You have an array $data = [10, 20, 30]. You want to split it into chunks of size 2 and ensure each chunk has exactly 2 elements by padding with 0 if needed. Which code correctly achieves this?
hard
A. $chunks = array_chunk($data, 2); foreach ($chunks as &$chunk) { $chunk = array_pad($chunk, 2, 0); } print_r($chunks);
B. $chunks = array_pad(array_chunk($data, 2), 2, 0); print_r($chunks);
C. $chunks = array_chunk(array_pad($data, 5, 0), 2); print_r($chunks);
D. $chunks = array_chunk($data, 2, 0); print_r($chunks);

Solution

  1. Step 1: Understand the goal

    We want chunks of size 2, each chunk exactly length 2, padding with 0 if chunk is smaller.
  2. Step 2: Analyze each option

    $chunks = array_chunk($data, 2); foreach ($chunks as &$chunk) { $chunk = array_pad($chunk, 2, 0); } print_r($chunks); splits into chunks, then pads each chunk to size 2 with 0, which is correct.
    $chunks = array_pad(array_chunk($data, 2), 2, 0); print_r($chunks); tries to pad the array of chunks, which is incorrect.
    $chunks = array_chunk(array_pad($data, 5, 0), 2); print_r($chunks); pads the original array to size 5, then chunks, which may add unwanted extra elements.
    $chunks = array_chunk($data, 2, 0); print_r($chunks); passes 0 as third argument to array_chunk, which is invalid.
  3. Final Answer:

    $chunks = array_chunk($data, 2); foreach ($chunks as &$chunk) { $chunk = array_pad($chunk, 2, 0); } print_r($chunks); -> Option A
  4. Quick Check:

    Pad each chunk after chunking [OK]
Hint: Pad each chunk after chunking, not the whole array [OK]
Common Mistakes:
  • Padding the whole array before chunking
  • Passing extra arguments to array_chunk
  • Trying to pad the array of chunks directly
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