一个三元运算符中的多个php if语句

时间:2016-01-06 17:48:31

标签: php if-statement

我有多个if语句来检查四个Checkbox的值。但我看到我的代码不好,并在每个if语句中包含重复的代码。

我知道在if语句条件下使用三元运算符。但我希望在一个三元运算符下面放下我的代码。我怎么能这样做?

INFO:三元运营商标准使用condition ? action_if_true: action_if_false;

if (!empty($item->divideto_2)) {
    $col = 6;
    $divide_to = 12 / $col;
}
if (!empty($item->divideto_3)) {
    $col = 4;
    $divide_to = 12 / $col;
}
if (!empty($item->divideto_4)) {
    $col = 3;
    $divide_to = 12 / $col;
}
if (!empty($item->divideto_6)) {
    $col = 2;
    $divide_to = 12 / $col;
}

1 个答案:

答案 0 :(得分:0)

你可以这样做:

$col = 0;
$divide_to = 12 / (( ! empty($item->divideto_2)) 
                    ? ($col = 6)
                    : ( ! empty($item->divideto_3))
                        ? ($col = 4)
                        : ( ! empty($item->divideto_4))
                            ? ($col = 3)
                            : ( ! empty($item->divideto_6))
                                ? ($col = 2)
                                : $col);

但是,为了更好的可视化,请使用另一种形式。