如何在PHP中编写具有多个条件的条件运算符

时间:2017-03-02 03:06:12

标签: php

我有以下代码

<?php
echo $show_li = ($show == 1) ? 'Verified' : '' ;
echo $show_li = ($show == 2) ? 'Un-Verified' : '' ;
echo $show_li = ($show == 3) ? 'Matrimonial' : '' ;
echo $show_li = ($show == 4) ? 'Banned' : '' ;
?>

我想用单行写它但它不能正常工作

echo $show_li = ($show == 1) ? 'Verified' : (($show == 2) ? 'Un-Verified' : (($show == 3) ? 'Matrimonial' : (($show == 4) ? 'Banned' : '');

请清楚我错误的地方。

2 个答案:

答案 0 :(得分:1)

在您的陈述结束时,您似乎遗漏了一些问题。这应该工作

echo $show_li = ($show == 1) ? 'Verified' : (($show == 2) ? 'Un-Verified' : (($show == 3) ? 'Matrimonial' : (($show == 4) ? 'Banned' : '')));

但是,作为开发人员,此代码有点难以解析。我会选择一些可能更易于阅读的内容,例如使用switch case的示例。

switch ($show) {
    case 1:
        $message = 'Verified';
        break;
    case 2:
        $message = 'Un-Verified';
        break;
    case 3:
        $message = 'Matrimonial';
        break;
    case 4:
        $message = 'Banned';
        break;
    default:
        $message = '';
}

echo $message;

答案 1 :(得分:0)

你可以很容易地没有所有的括号。

echo $show_li = $show == 1
    ? 'Verified'
    : $show == 2
        ? 'Un-Verified' 
        : $show == 3
            ? 'Matrimonial'
            : $show == 4
                ? 'Banned'
                : '';

但正如詹姆斯所说,在三元声明中很难读出许多条件。