Differences between a while loop and a for loop in PHP?
"For" expresses your intentions more clearly
Functionally, your two examples are the same. But they express different intentions.
while
means 'I don't know how long this condition will last, but as long as it does, do this thing.'for
means 'I have a specific number of repetitions for you to execute.'
You can use one when you mean the other, but it's harder to read the code.
Some other reasons why for
is preferable here
- It's more concise and puts all the information about the loop in one place
- It makes
$i
a local variable for the loop
Don't forget foreach
Personally, the loop I use most often in PHP is foreach
. If you find yourself doing things like this:
for ($i=0; $i < count($some_array); $i++){
echo $some_array[$i];
}
...then try this:
foreach ($some_array as $item){
echo $item;
}
Faster to type, easier to read.
Can you? Yes, certainly. But whether or not you should is an entirely different question.
The for
loop is more readable in this scenario, and is definitely the convention you'll find used within virtually every language that has looping directives. If you use the while
loop, people are going to wonder why you didn't use a for
loop.