我想将这个if / else语句转换为三元格式:
function session_active()
{
if ($_SESSION['p_logged_in']) {
return true;
}
else {
return false;
};
}
我试过了:
function session_active()
{
($_SESSION['p_logged_in'] ? true : false);
}
但它总是返回false。
我正在查看http://davidwalsh.name/php-ternary-examples处的示例,就我从示例中看到的情况而言,这似乎是正确的。为什么它总是返回假?
答案 0 :(得分:4)
您可以尝试简单return
$_SESSION['p_logged_in']
值: -
function session_active()
{
return (bool)$_SESSION['p_logged_in'];
}
答案 1 :(得分:1)
php不是ruby,你必须从三元中返回该值。
详细说明......
function session_active()
{
return ($_SESSION['p_logged_in'] ? true : false);
}
答案 2 :(得分:1)
试试这个:
function session_active() {
return (isset($_SESSION['p_logged_in'])) ? true : false;
}
答案 3 :(得分:1)
更正您的陈述return
要简化它:return (bool)$_SESSION['p_logged_in'];
答案 4 :(得分:1)
$_SESSION['p_logged_in'] === true
与$_SESSION['p_logged_in'] != null
之间存在差异,退回$ _SESSION [' p_logged_in']可能会影响其效果。