【发布时间】:2013-08-19 14:09:31
【问题描述】:
我知道可以嵌套三元运算符,我想在这种情况下使用它们以节省时间(至少在将来)。
我有一个变量可以保存四个值之一:
- “管理员”
- “编辑”
- “wadmin”
- “wuser”
其中的每一个都用于根据用户类型确定必要的密码长度,分别为 16、12、8 和 8。
我希望 PHP 根据变量的内容来回显这些数字中的每一个,在本例中名为 $match
到目前为止,我所拥有的是:
echo $match == "admin" ? "16" : $match == "edit" ? "12" : "8";
但这总是回显 12。如何重写它以正确回显“16”、“12”或“8”?
【问题讨论】:
-
PHP 的三元运算符坏了。
-
@elclanrs 所以你是说这个应该工作,即使它没有?
-
"可能嵌套三元运算符" — 可能,但不是一个好主意,它只会使代码难以阅读 — "我想在这种情况下使用它们以节省时间" — 三元运算符需要更多的时间来计划简单的 if 语句(所以不要节省开发时间)并且运行速度不会比 if 语句快(所以不要节省任何运行时间)。
-
我想是的,但它们仍然是我以前从未理解过的编程的一部分,现在我明白了! :)
标签: php echo ternary-operator