【发布时间】:2021-01-03 12:38:21
【问题描述】:
如何将这段代码编写为三元运算符:
if (isset($_SESSION['lang'])) {
$_SESSION['lang'] = $_SESSION['lang'];
} elseif (isset($_GET['lang'])) {
$_SESSION['lang'] = $_GET['lang'];
} else {
$_SESSION['lang'] = $defaultLanguage;
}
我使用了这段代码,但它不起作用。
$lang = (isset($_SESSION['lang']) ? $_SESSION['lang']) : (isset($_GET['lang']) ? $_GET['lang'] : $defaultLanguage);
提前致谢
【问题讨论】:
-
不确定
$_SESSION['lang'] = $_SESSION['lang'];的目的 -
这能回答你的问题吗? Stacking Multiple Ternary Operators in PHP。特别是,请参阅有关在一个语句中使用多个三元运算符的说明。通常是个坏主意。
-
我特别想说见stackoverflow.com/a/5235687/3783243。引用来自 PHP,而不是 SO 用户。
标签: php conditional-statements conditional-operator