Php 如果多个条件为真,如何多次执行迭代?

Php 如果多个条件为真,如何多次执行迭代?,php,Php,我有这样一个“如果”的说法: if( (first condition) || (second condition) || (third condition) ){ //line of code } 如果所有3个条件都满足,我希望代码行运行3次。如果只满足2个条件,它必须运行2次,依此类推 这种语法也很好: if(){}elseif(){}elseif(){} 在以下情况下,true将被计算为1,false将被计算为0: $qty = (first condition) + (secon

我有这样一个“如果”的说法:

if( (first condition) || (second condition) || (third condition) ){

//line of code

}
如果所有3个条件都满足,我希望代码行运行3次。如果只满足2个条件,它必须运行2次,依此类推

这种语法也很好:

if(){}elseif(){}elseif(){}

在以下情况下,true将被计算为1,false将被计算为0:

$qty = (first condition) + (second condition) + (third condition);
意思是
$qty
将包含所需的迭代次数

因此,您执行命令,如下所示:

for ($i=0; $i<$qty; $i++) {
  //Your line of code you want to execute, for example:
  echo $i, "\n";
}

对于($i=0;$i您可以先计算执行次数,然后使用循环:

$times = 0;
if (first condition) ++$times;
if (second condition) ++$times;
if (third condition) ++$times;

for (... 1 .. $times ...) do_your_thing();

通常,如果条件是短路的,这意味着如果满足其他条件前面的条件,则后面的条件将永远无法执行

参考:


因此,在您的情况下,我认为您应该用其他方法重构代码,Jeremy Miller的答案似乎适用于您的情况。

这里的count变量表示有多少条件是真的。 for循环将执行与计数数($count)相等的代码

$count=0;
如果(第一个条件){
$count++;
}
如果(第二个条件){
$count++;
}
如果(第三个条件){
$count++;
}

对于($i=0;$i你可以把所有条件值都取为一个变量。然后用
循环运行
。因为我认为这是最短也是最好的方法。

mind=blow。我从来没有想到过这个!格雷蒂理解你的解释,但是因为我对编程很陌生,我不知道如何翻译,你能给我举个例子吗h if语句?您不需要
if
语句。我将编辑以显示多次执行命令。我的代码必须运行,就在传递条件时,我应该在哪里引入它?我猜条件是隐藏的。在计算
$qty
时,基本上是说
如果条件为真,则添加1;否则0
对所有3个条件都适用。因此,如果2为真,那么它会添加
1+0+1
(或者1和0匹配的任何模式)。试试看。一个if不可能吗?我的意思是“if”,我只能使用“if”,但如果可能,只能使用一个,而不是三个
    $count = 0 ;
    if( first condition ){

        $count++;

    }
    if( second condition ){

        $count++;

    }
    if( third condition ){

        $count++;

    }
    for($i=0;$i<$count;$i++) {
        //line of code
    }