php有多个条件为真

php有多个条件为真,php,if-statement,Php,If Statement,有多个变量具有布尔值,例如$a、$b、$c、$d。 所以我想做的是。 if($a){echo 1;} if($b){echo 2;} if($c){echo 3;} if($d){echo 4;} and so on.. 50 variables 有更好的方法吗? 注意:可以有多个变量为真。可能将所有布尔变量放入布尔数组中,然后迭代数组以检查值 $boolArray = array(); $boolArray[0] = array($a, 1); $boolArray[1] = array($

有多个变量具有布尔值,例如
$a、$b、$c、$d
。 所以我想做的是。

if($a){echo 1;}
if($b){echo 2;}
if($c){echo 3;}
if($d){echo 4;}
and so on.. 50 variables
有更好的方法吗?

注意:可以有多个变量为真。

可能将所有布尔变量放入布尔数组中,然后迭代数组以检查值

$boolArray = array();
$boolArray[0] = array($a, 1);
$boolArray[1] = array($b, 2);
$boolArray[2] = array($c, 3);


...

for($x = 0; $x < count($boolArray); $x++) {
  if ($boolArray[x][1]) {  
     echo (string)$boolArray[x][2];
  }
}
$boolArray=array();
$boolArray[0]=数组($a,1);
$boolArray[1]=数组($b,2);
$boolArray[2]=数组($c,3);
...
对于($x=0;$x
可以将所有布尔变量放入布尔数组中,然后迭代数组以检查值

$boolArray = array();
$boolArray[0] = array($a, 1);
$boolArray[1] = array($b, 2);
$boolArray[2] = array($c, 3);


...

for($x = 0; $x < count($boolArray); $x++) {
  if ($boolArray[x][1]) {  
     echo (string)$boolArray[x][2];
  }
}
$boolArray=array();
$boolArray[0]=数组($a,1);
$boolArray[1]=数组($b,2);
$boolArray[2]=数组($c,3);
...
对于($x=0;$x
我想你在找这样的东西

<?php
# Define the settings you already have
$a = true;
$b = true;
$c = true;

# Create an array with letters from a to z
# Instead of this, you can create an array of field names like array('a', 'b', 'c', 'd');
$options    = range('a', 'z');

# Loop in the letters from above
foreach($options as $id => $letter) {

    # Check if variable exists and boolean is true
    if(isset(${$letter}) && ${$letter} === true) {

        # Output number from id
        echo $id + 1;
    }
}
?>

我想你在找这样的东西

<?php
# Define the settings you already have
$a = true;
$b = true;
$c = true;

# Create an array with letters from a to z
# Instead of this, you can create an array of field names like array('a', 'b', 'c', 'd');
$options    = range('a', 'z');

# Loop in the letters from above
foreach($options as $id => $letter) {

    # Check if variable exists and boolean is true
    if(isset(${$letter}) && ${$letter} === true) {

        # Output number from id
        echo $id + 1;
    }
}
?>

您可以使用此代码迭代:

$a= $b = $c = TRUE;
$array = array(0=> $a,1=>$b,2=> $c);
foreach($array as $key => $value){
  if($value){
      echo $key;
    }
}

您可以使用以下代码进行迭代:

$a= $b = $c = TRUE;
$array = array(0=> $a,1=>$b,2=> $c);
foreach($array as $key => $value){
  if($value){
      echo $key;
    }
}

按顺序循环变量,如果为true,则返回当前迭代次数。这正是循环的用途。如果可能,您可以使用数组,然后通过变量顺序为foreach循环或其他loopLoop添加条件,如果为true,则返回当前迭代次数。这正是循环的用途。如果可能,您可以使用数组,然后使用foreach循环或其他循环添加条件