Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
while(true){在PHP中是什么意思?_Php - Fatal编程技术网

while(true){在PHP中是什么意思?

while(true){在PHP中是什么意思?,php,Php,我看过这个代码,不知道它是什么意思 while(true){ echo "Hello world"; } 我知道while循环是什么,但是while(true)意味着什么?它将执行多少次。这不是一个无限循环吗?是的,这是一个无限循环 明确的版本是 while (true == true) 它确实是一个无限循环。虽然它是一个无限循环,您可以使用它退出它。当等待某些事情发生时,它很有用,但您不知道将到达那里的迭代次数。这确实是(如前所述)一个无限循环,通常包含以“break”/“exit

我看过这个代码,不知道它是什么意思

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

我知道while循环是什么,但是while(true)意味着什么?它将执行多少次。这不是一个无限循环吗?

是的,这是一个无限循环

明确的版本是

while (true == true)

它确实是一个无限循环。

虽然它是一个无限循环,您可以使用它退出它。当等待某些事情发生时,它很有用,但您不知道将到达那里的迭代次数。

这确实是(如前所述)一个无限循环,通常包含以“break”/“exit”语句结束的代码


许多守护进程使用这种方式让PHP进程继续工作,直到某些外部情况发生变化。(例如,通过删除.pid文件/发送HUP等杀死它)

请参考当前位于以下位置的PHP文档:

只要指定的条件为true,while循环就会执行代码块

while语句计算表达式,该表达式必须返回布尔值。如果表达式的计算结果为true,则 while语句执行while块中的语句 while语句继续测试表达式并执行其 块,直到表达式的计算结果为false

因此,该准则:

while (true) {
    statement(s)
}
将无限期地执行语句,因为“true”是一个布尔表达式,正如您所期望的,它总是true

正如@elzo valugi已经提到的,可以使用中断(或退出)来中断此循环:


@Ignacio你指的是有符号和无符号的
true
。在PHP7中出现的那些,我被告知不够明确。
while((((((true==true)==true)==true)==true)==true){
和倒数:
while(true!=false)
我不明白为什么(true==true)应该比(true)@Pekka更明确,考虑到最后的结果是一个布尔表达式,在我看来,表达式“true”(可能是最可读的布尔表达式)比“true==true”好。使用相同的方法,如果需要表达式false,您会写什么?false==true?
while (true) {
    statement(s)
}
while (true) {
    statement(s)
    if (condition) {
        break;
    }
}