我有以下代码
<?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' : '');
请清楚我错误的地方。
答案 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'
: '';
但正如詹姆斯所说,在三元声明中很难读出许多条件。