开发者

What does while (true){ mean in PHP?

I've seen this code, and I've no idea what it means.

while(true){
    echo "Hello world";
}

I know what a while开发者_如何学C loop is, but what does while(true) mean? How many times will it executed. Is this not an infinite loop?


Although is an infinite loop you can exit it using break. It is useful when waiting for something to happen but you don't exactly know the number of iteration that will get you there.


Yes, this is an infinite loop.

The explicit version would be

while (true == true)


This is indeed (as stated already) an infinite loop and usually contains code which ends itself by using a 'break' / 'exit' statement.

Lots of daemons use this way of having a PHP process continue working until some external situation has changed. (i.e. killing it by removing a .pid file / sending a HUP etc etc)


Please referes to the PHP documentation currently at: http://www.w3schools.com/php/php_looping.asp

The while loop executes a block of code as long as the specified condition is true.

while (expression) {
    statement(s) 
} 

The while statement evaluates expression, which must return a boolean value. If the expression evaluates to true, the while statement executes the statement(s) in the while block. The while statement continues testing the expression and executing its block until the expression evaluates to false.

As a consequence, the code:

while (true) {
    statement(s)
}

will execute the statements indefinitely because "true" is a boolean expression that, as you can expect, is always true.

As already mentioned by @elzo-valugi, this loop can be interrupted using a break (or exit):

while (true) {
    statement(s)
    if (condition) {
        break;
    }
}


It is indeed an infinite loop.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜