我见过这段代码,我不知道这意味着什么.
while(true){
echo "Hello world";
}
Run Code Online (Sandbox Code Playgroud)
我知道什么是while循环,但while(true)是什么意思?它会被执行多少次.这不是一个无限循环吗?
Pek*_*ica 11
是的,这是一个无限循环.
显式版本将是
while (true == true)
Run Code Online (Sandbox Code Playgroud)
这确实(如前所述)是一个无限循环,通常包含通过使用'break'/'exit'语句结束自身的代码.
许多守护进程使用这种方式让PHP进程继续工作,直到某些外部情况发生变化.(即通过删除.pid文件/发送HUP等来杀死它)
请参阅当前的 PHP 文档: http: //www.w3schools.com/php/php_looping.asp
只要指定的条件为真,while 循环就会执行一段代码。
while (expression) {
statement(s)
}
Run Code Online (Sandbox Code Playgroud)
while 语句计算表达式,该表达式必须返回布尔值。如果表达式的计算结果为 true,则 while 语句将执行 while 块中的语句。while 语句继续测试表达式并执行其块,直到表达式计算结果为 false。
结果,代码:
while (true) {
statement(s)
}
Run Code Online (Sandbox Code Playgroud)
将无限期地执行语句,因为“true”是一个布尔表达式,正如您所期望的那样,它始终为 true。
正如 @elzo-valugi 已经提到的,可以使用中断(或退出)来中断此循环:
while (true) {
statement(s)
if (condition) {
break;
}
}
Run Code Online (Sandbox Code Playgroud)