[英]Why does this do while loop not end when it's supposed to?
我正在尝试使用 PHP 7.4
<?php
function test(){
do{
$val=(int)readline("Insert a number in the range of 1-5 :");
print_r(($val>5 || $val!==0)."\n");
}while ($val>5 || $val!==0);
}
test();
但它只是没有按预期工作。 它只是在我插入 0 时离开循环,但在我插入一个小于或等于 5 的数字时不会。
这种情况对于您要执行的操作是不正确的。
while ($val>5 || $val!==0)
您希望循环结束的数字都不等于零,因此条件的$val!==0
部分将始终为真,除非$val
为零。
如果像$val>5 || $val!==0
这样的 or 表达式的一部分 $val>5 || $val!==0
为真,则整个表达式为真。
你需要这个:
while ($val > 5 || $val < 1)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.