2014-11-25 49 views
2

我检查3个变量都等于零内if条件,目前我做这样的最好的办法等于如果条件内出现零 - PHP

if($diff_colour_code==0 && $diff_upholstery_code==0 && $big_diff==0) 

一些事情有没有更好的办法做到这一点

我在超前的思维方式像

if($diff_colour_code==$diff_upholstery_code==$big_diff==0) 

请帮帮忙,谢谢。

+1

如果你的变量只包含整数,你可以将它们加在一起并检查结果是0 – twain 2014-11-25 08:08:59

+0

不,变量可以取负值:) – 2014-11-25 08:09:53

回答

0

这应该适合你:

你可以给函数尽可能多的参数,你需要!

<?php 

    $diff_colour_code = 0; 
    $big_diff = 0; 
    $diff_upholstery_code = 0; 

    function zeroCheck() { 
     foreach(func_get_args() as $arg) 
      if($arg == 0) 
       continue; 
      else 
       return false; 
     return true; 
    } 


    if (zeroCheck($diff_colour_code, $big_diff, $diff_upholstery_code)) 
     echo "all are 0!"; 


?> 
0

你可以使用!为:

if(!$diff_colour_code && !$diff_upholstery_code && !$big_diff) 
+0

值应该特别是0,我认为''和false会通过这个语句 – 2014-11-25 07:59:46

0

你可以做这样的事情:

$var1 = 0; 
    $var2 = 0; 
    $var3 = 0; 

    $array = compact("var1", "var2", "var3"); 
    $countValues = array_count_values($array); 
    if($countValues[0] == count($array)){ 
     echo "yes"; 
    }else{ 
     echo "no"; 
    } 

或本

if(($var1 == 0 && $var1 == $var2 && $var2 == $var3)){ 
     echo "yes"; 
    }else{ 
     echo "no"; 
    }