📖 Scenario: You are managing a list of fruits in a basket. Sometimes you want to look at a part of the list without changing it, and sometimes you want to remove some fruits and add new ones in their place.
🎯 Goal: Learn how to use PHP array functions array_slice to get a part of an array without changing it, and array_splice to remove and add elements in an array.
📋 What You'll Learn
Create an array called $fruits with exact values: 'apple', 'banana', 'cherry', 'date', 'elderberry'
Create a variable called $start and set it to 1
Use array_slice with $fruits and $start to get a slice called $someFruits
Use array_splice on $fruits starting at $start to remove 2 elements and add 'fig' and 'grape'
Print $someFruits and $fruits arrays using print_r
💡 Why This Matters
🌍 Real World
Managing lists of items where you want to look at parts of the list or change parts of it, like editing a shopping list or playlist.
💼 Career
Understanding how to manipulate arrays is essential for backend development, data processing, and working with collections of data in PHP.
Progress0 / 4 steps
1
Create the initial array of fruits
Create an array called $fruits with these exact values in order: 'apple', 'banana', 'cherry', 'date', 'elderberry'.
PHP
Hint
Use square brackets [] to create the array with the exact fruit names as strings.
2
Set the start index for slicing and splicing
Create a variable called $start and set it to the number 1.
PHP
Hint
Just assign the number 1 to the variable $start.
3
Get a slice of the fruits array
Use array_slice with $fruits and $start to create a new array called $someFruits that contains the part of $fruits starting from index 1.
PHP
Hint
Use array_slice with two arguments: the array and the start index.
4
Remove and add fruits using array_splice and print results
Use array_splice on $fruits starting at $start to remove 2 elements and add 'fig' and 'grape'. Then print $someFruits and $fruits using print_r.
PHP
Hint
Use array_splice with four arguments: the array, start index, number to remove, and an array of new fruits to add. Then use print_r to show both arrays.
Practice
(1/5)
1. What is the main difference between array_slice and array_splice in PHP?
easy
A. array_slice returns a new array without changing the original, while array_splice modifies the original array.
B. array_slice modifies the original array, while array_splice returns a new array without changes.
C. Both functions modify the original array but in different ways.
D. Both functions return a new array and do not modify the original array.
Solution
Step 1: Understand array_slice behavior
array_slice extracts a portion of the array and returns it as a new array without changing the original array.
Step 2: Understand array_splice behavior
array_splice removes or replaces elements in the original array and returns the removed elements, thus modifying the original array.
Final Answer:
array_slice returns a new array without changing the original, while array_splice modifies the original array. -> Option A
Quick Check:
Slice copies, splice changes original [OK]
Hint: Slice copies array parts, splice changes the original array [OK]
Common Mistakes:
Thinking both functions modify the original array
Confusing which function returns a new array
Assuming splice returns the modified array instead of removed elements
2. Which of the following is the correct syntax to remove 2 elements starting from index 1 using array_splice on array $arr?
easy
A. array_splice($arr, 2, 1);
B. array_splice($arr, 1);
C. array_splice($arr, 1, 2);
D. array_splice($arr, 0, 2);
Solution
Step 1: Identify parameters of array_splice
The function signature is array_splice(array &$array, int $offset, int $length = ?). To remove 2 elements starting at index 1, offset = 1 and length = 2.
Step 2: Match parameters to options
array_splice($arr, 1, 2); uses array_splice($arr, 1, 2); which correctly removes 2 elements starting from index 1.
Final Answer:
array_splice($arr, 1, 2); -> Option C
Quick Check:
Offset 1, length 2 removes correct elements [OK]
Hint: array_splice($arr, start, length) removes elements from start [OK]
Common Mistakes:
Swapping offset and length values
Omitting length parameter and removing all after offset
Using wrong index for offset
3. What will be the output of the following PHP code?
The call removes 2 elements starting at index 2 (elements 3 and 4) and inserts [8, 9] at that position.
Step 2: Modify the original array accordingly
Original array: [1, 2, 3, 4, 5] Remove elements at index 2 and 3: [3, 4] Insert [8, 9] at index 2 Resulting array: [1, 2, 8, 9, 5]
Final Answer:
[1, 2, 8, 9, 5] -> Option D
Quick Check:
Splice replaces elements with new ones [OK]
Hint: Splice can replace elements by passing replacement array [OK]
Common Mistakes:
Expecting original array unchanged
Forgetting splice removes elements before inserting
Confusing splice insertion with append
5. You have an array $data = [5, 10, 15, 20, 25, 30]. You want to remove the middle two elements and insert 100 and 200 in their place, then get a new array with the last three elements without changing the original array. Which code snippet correctly does this?