我对此感到困惑,我的搜索没有发现任何相关的内容。我需要做一个while循环,如果2个变量中的任何一个为真,它将继续...我可以告诉你可以'做一个“while($ var =''和$ var2 ='');所以我试过这个,基本上我想我可以设置2个不同的if语句,这样如果它超过4就会改变变量”continue“迭代(如果$ i> = 4),但这只是给出一个无限循环:
function whiletest () {
$i = 1;
do {
echo 'output';
if ($status != 'true') {
$continue = 1 ;
}
if ($i >= 4) {
$continue = 2 ;
}
$i++ ;
} while ($continue = 1 );
}
答案 0 :(得分:2)
您是否正在寻找这样的结构:
while($var1 == 'value1' OR $var2 == 'value2') {
...
}
当任一条件成立时,这将继续运行。
答案 1 :(得分:2)
为什么以下不起作用?
while (($condition1) || ($condition2)) {
// loop stuff
}
只要while parens中的表达式为true,循环就会执行。
答案 2 :(得分:1)
while语句计算布尔表达式。你应该写出:
while( ($status != true) && ($continue == 1) ) {}
同样在你的代码中(如果它是一个c / p),你有$ continue = 1.这将总是评估为真。
编辑:
while (($status) && ($i < 4))
至于最后一次,它对我来说只是一个无限循环。
答案 3 :(得分:0)
您不应该需要$ continue变量。这应该可以解决问题:
$i = 1;
do {
//do other stuff here (possibly changing the value of $status)
echo 'output';
$i++;
} while ($status != 'true' && $i < 4);
请记住,这将始终至少运行一次循环。如果$ status可能以“true”开头,并且您希望循环运行零次,如果是,则需要:
$i = 1;
while ($status != 'true' && $i < 4) {
//do other stuff here (possibly changing the value of $status)
echo 'output';
$i++;
}