Yesterday’s article actually got me a little amped up about coding conventions – Comparing a while loop against a foreach loop of an array – because I never thought I would actually have to do a comparison between a while loop and a foreach loop on an array! If we go back and revisit the post, I was reviewing a recent CakePHP commit for an optimization on the Hash class. The code in question is three separate blocks of code that leverage the array_shift function to get the next value in the array with a foreach loop instead.
Tag: while
-
A Short Rant About Coding Conventions
-
Comparing a while loop against a foreach loop of an array
Are you confused by the title? I was when I first got the idea to even write this blog as well. I was recently perusing the CakePHP change logs and came across an interesting commit – Optimization for Hash Method.The optimization is quite simple, this code:
[code]
while (($key = array_shift($parts)) !== null)
[/code]Is replaced with the following code:
[code]
foreach ($parts as $key)
[/code]This is actually done several times in the commit. It seems that the original developer is really keen on using the array_shift function. Just in seeing this code, I thought the original code was odd to utilize that function so I immediately had to do a comparison and validate the optimization!