Differences between a while loop and a for loop in PHP?

前端 未结 6 2059
梦谈多话
梦谈多话 2020-12-06 12:02

I\'m reading an ebook on PHP right now, and the author noted that the difference between a while loop and a for loop is that the for loop will count how many times it runs.<

相关标签:
6条回答
  • 2020-12-06 12:12

    The Main Difference Between for() and While() is that we have to define the limit or count but in while() loop we don't define limit or count it works until reached the last item

    FOR LOOP Initialization may be either in loop statement or outside the loop. It is normally used when the number of iterations is known. Condition is a relational expression. It is used when initialization and increment is simple. for ( init ; condition ; iteration ) { statement(s); }

    WHILE LOOP Initialization is always outside the loop. It is normally used when the number of iterations is unknown. Condition may be expression or non-zero value. It is used for complex initialization. while ( condition ) { statement(s); }

    0 讨论(0)
  • 2020-12-06 12:16

    A for-loop

    for (INIT; CONDITIONS; UPDATE) {
        BODY
    }
    

    is basically the same as a while-loop structured like this:

    INIT
    while (CONDITIONS) {
        BODY
        UPDATE
    }
    

    While you could technically use one or the other, there are situations where while works better than for and vice-versa.

    0 讨论(0)
  • 2020-12-06 12:17

    Functionally, a for loop is equivalent to a while loop; that is, each can be rewritten as the other with no change to the outcome or side effects. However, each has different connotations. A while loop runs while a condition holds; the condition is static, though circumstances change. A for loop runs over a sequence. The difference is important to programmers but not programs, just as choice of variables names are important to programmers even though they can be changed to produce functionally equivalent code. One loop construct will make more sense than the other, depending on the situation.

    0 讨论(0)
  • 2020-12-06 12:18

    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.

    0 讨论(0)
  • 2020-12-06 12:19

    "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.

    0 讨论(0)
  • 2020-12-06 12:19

    It's a matter of taste, personal preference and readability. Sometimes a while loop works better logically. Sometimes, a for.

    For my personal rule, if I don't need a variable initializer, then I use a while.

    But a foreach loop is useful in its own way.

    Plus, in the case of PHP's scoping, where all variables not inside of functions are global, it the variable will continue living after the loop no matter which loop control you use.

    0 讨论(0)
提交回复
热议问题