确定在PHP中传递了哪个条件

确定在PHP中传递了哪个条件,php,if-statement,Php,If Statement,不管怎样,我都能分辨出哪个条件通过了 if ( a || b ){ //do common operations to both if (a){ //do a operation } if (b) { //do be operation } } 感觉就像我在做同样的事情一样。我们如何避免这样做?有没有办法知道哪种情况已经过去并继续下去。有些事 if ( a || b ){ //do common operation

不管怎样,我都能分辨出哪个条件通过了

if ( a || b ){
    //do common operations to both

    if (a){
    //do a operation
    }
     if (b) {
      //do be operation
    }
}
感觉就像我在做同样的事情一样。我们如何避免这样做?有没有办法知道哪种情况已经过去并继续下去。有些事

if ( a || b ){
        //do common operations to both

        if first condition was passed{
        //do a operation
        }
        if second condition was passed{
          //do b operation
        }
    }
有些操作重复进行的代价很高。谢谢。

如果您在条件/表达式检查时赋值。您可以很容易地知道通过了哪个条件并继续执行它

$a = 5; //true
$b = 0; //false

if ( $a_t = $a || $b_t= $b ){
    //do common operations to both
    $both = $a+$b;
    if ($a_t){
    //do a operation
        $a = $a+5;
    }
     if ($b_t) {
         $b = $b+5;
      //do be operation
    }
}
echo "a=$a & b= $b & both=$both";
编辑:它也应该与isset一起工作


如果您也可以使用switch case或嵌套三元语句,请使用else语句而不是second语句。。你猜对了吗???@fred我如何使用switch处理常见功能?这样你就可以得到a | | b | | | c | | d | | | q如果在该示例中,会发生什么?这应该可以工作,但不适用于我的用例。。我的更像是isseta | | issetb。。。我会试着根据这个想法找一份工作。感谢you@BadmusTaofeeq但它也应该与isset一起使用,请参见我编辑的答案。谢谢。
$a = 5; //true
$b = 0; //false

if ( $a_t = isset($a) || $b_t= isset($b) ){
    //do common operations to both
    $both = $a+$b;
    if ($a_t){
    //do a operation
        $a = $a+5;
    }
     if ($b_t) {
         $b = $b+5;
      //do be operation
    }
}
echo "a=$a & b= $b & both=$both";