Understanding Array Appending Performance in PHP: $array[] vs array_push()
While the PHP manual suggests avoiding function calls for optimal performance, there are conflicting opinions regarding the speed of using $array[] in comparison to array_push(). Let's clarify this through benchmarks and technical explanations.
Performance Test
Benchmarking reveals that $array[] is significantly faster than array_push() when adding individual elements to an array.
Code for Benchmarking:
<code class="php">$t = microtime(true); $array = array(); for ($i = 0; $i < 10000; $i++) { $array[] = $i; } print microtime(true) - $t; print '<br>'; $t = microtime(true); $array = array(); for ($i = 0; $i < 10000; $i++) { array_push($array, $i); } print microtime(true) - $t;</code>
Results:
Explanation
The PHP manual states that using $array[] avoids the overhead of calling a function, making it faster for adding single elements.
Myth Buster: Array_push() for Multiple Values
Contrary to intuitive thought, even for adding multiple values to an array, $array[] calls are faster than a single array_push(). This observation challenges the notion that array_push() is more efficient for bulk additions.
Conclusion
For appending individual elements to an array, $array[] is a clear winner in terms of performance. However, the speed difference is negligible for most practical applications. The simplicity and readability of $array[] make it a preferred choice for many developers.
The above is the detailed content of Is $array[] Really Faster Than array_push() for Appending Elements in PHP?. For more information, please follow other related articles on the PHP Chinese website!