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.