PHP

时间:2016-08-18 07:09:52

标签: php arrays if-statement

在这种情况下,我有69个类别项目,我想按类别存储每个项目。 所以,我的" IF和ELSEIF"语句将如下所示

    if ($category == 1){
       echo "1";
    } 
    elseif ($category == 2){
       echo "2";
    }
    elseif ($category == 3){
       echo "3";
    }
    elseif ($category == 4){
       echo "4";
    }

如果我保持这种方式,这将需要很多时间。那么有什么简单的方法可以做到这一点吗?谢谢

4 个答案:

答案 0 :(得分:1)

尝试循环,

for($i=1;$i<70;$i++){
   if($category == $i){
      echo $i;
      break;
   } 
}

答案 1 :(得分:1)

以下方式使用

$cat_arr = $result_arr_cat; // $result_arr_cat is result of category as associative
$arr_output = array('1'=>'1\'s output','2'=>'','3'=>''); // and so on
if(in_array($category,$cat_arr)){
 echo $category; // or keep the output in array of specific key echo $arr_output[$category];
}

甚至更简单

$arr_output = array(1=>'1\'s output', 2=>'', 3=>''); // and so on
if(array_key_exists($category, $arr_output)){
     echo $arr_output[$category];
}

答案 2 :(得分:0)

使用in_arrayrange函数的简短解决方案:

if (in_array($category, range(1, 69))) {
    echo $category;
}

答案 3 :(得分:0)

如果您只是将整数转换为等效字符串,请使用类型转换。

例如:echo (string)$category;

有关详细信息,请参阅以下答案:ToString() equivalent in PHP