Array push and pop in PHP - Time & Space Complexity
We want to understand how fast adding or removing items from the end of an array happens in PHP.
How does the time to push or pop change when the array grows bigger?
Analyze the time complexity of the following code snippet.
$array = [];
// Add items to the end
array_push($array, 10);
array_push($array, 20);
// Remove last item
array_pop($array);
This code adds two items to the end of an array and then removes the last item.
Look at what repeats or happens often.
- Primary operation: Adding or removing one item at the end of the array.
- How many times: Each push or pop happens once per call, no loops here.
Adding or removing one item at the end takes about the same time no matter how big the array is.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | 1 operation per push or pop |
| 100 | 1 operation per push or pop |
| 1000 | 1 operation per push or pop |
Pattern observation: The time stays about the same even as the array grows.
Time Complexity: O(1)
This means adding or removing an item at the end takes constant time, no matter the array size.
[X] Wrong: "Adding an item to the array takes longer as the array gets bigger."
[OK] Correct: Because PHP arrays are implemented as ordered hash tables, adding or removing items at the end is generally efficient and does not grow linearly with array size.
Knowing that push and pop are fast helps you choose the right data structure and explain your code clearly in interviews.
"What if we added or removed items from the start of the array instead? How would the time complexity change?"