【问题标题】:PHP: many if conditions compare [duplicate]PHP:如果条件比较很多[重复]
【发布时间】:2019-02-07 09:00:00
【问题描述】:

我必须检查“id”是否大约有 15 个不同的值....

if($value->id==1 or $value->id==2 or $value->id==3 or $value->id==4 etc etc....)

有什么更好/更短的方法来做到这一点......

【问题讨论】:

  • in_array 例如
  • 如果您的问题是问题的正确表示,您可以这样做if($id >0 && $id <16)

标签: php if-statement compare


【解决方案1】:

你有两个选项来检查多个条件

1

echo in_array($var, array('abc', 'def', 'hij', 'klm', 'nop'))? 'yes': 'no';

2

 $test_array = ('test1','test2', 'test3','test4');
    for($i = 0; $i < count($test_array); $i++){
       if($test_value == $test_array[$i]){
           $ret_val = true;
           break;
       }
       else{
           $ret_val = false;
       }
    }

【讨论】:

    【解决方案2】:

    我认为你可以使用数组和in_array 方法:

    $acceptableValues = [1, 2, 3, 4, 5];
    
    if (in_array($value->id, $acceptableValues)) {
    
    }
    

    您始终可以通过将第三个参数指定为 true 来强制进行严格验证,这意味着值需要在值和类型上相同:

    $acceptableValues = [1, 2, 3, 4, 5];
    
    if (in_array((int) $value->id, $acceptableValues, true)) {
    
    }
    

    【讨论】:

      【解决方案3】:

      将该值保存在单独的数组中并检查

      if( in_array($value->id, $idArray)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-09-15
        • 1970-01-01
        • 1970-01-01
        • 2015-07-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-27
        相关资源
        最近更新 更多