我知道可以嵌套三元运算符,我想在这种情况下使用它们来节省时间(至少在将来)。
我有一个变量,它将包含四个值中的一个:
这些中的每一个都用于根据用户类型分别确定必要的密码长度,分别为16,12,8和8。
我希望PHP根据变量的内容回显每个数字,在本例中名为$match
到目前为止我所拥有的是:
echo $match == "admin" ? "16" : $match == "edit" ? "12" : "8";
但是这总是回应12.如何重写这个以正确回显“16”,“12”或“8”?
答案 0 :(得分:3)
虽然它没有直接回答这个问题,但你可以完全避免使用嵌套三元组:
<?php
$minlen = array(
"admin" => 16,
"edit" => 12,
"wadmin" => 8,
"wuser" => 8,
);
// Example usage
$match = "admin";
echo $minlen[$match];
?>
答案 1 :(得分:1)
这样就可以了。
将false
条件括在括号/括号中
echo ($match == 'admin') ? '16' : (($match == 'edit') ? '12' : '8');
或
echo $match == 'admin' ? '16' : ($match == 'edit' ? '12' : '8');
答案 2 :(得分:0)
使用嵌套,希望对你有所帮助。你可以永远延长;)
echo $match == "admin" ? "16" : ($match == "edit" ? "12" : ($match == "wadmin" ? "8" : ($match == "wuser" ? "4" : "NONE")));
答案 3 :(得分:0)
使用括号:
echo $match == "admin" ? "16" : ($match == "edit" ? "12" : "8");