将PHP if/else语句转换为三值格式
我想将此if/else语句转换为三元格式:将PHP if/else语句转换为三值格式,php,ternary-operator,Php,Ternary Operator,我想将此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 我正在查看中的示例,从
function session_active()
{
if ($_SESSION['p_logged_in']) {
return true;
}
else {
return false;
};
}
我试过:
function session_active()
{
($_SESSION['p_logged_in'] ? true : false);
}
但它总是返回false
我正在查看中的示例,从示例中可以看出,这似乎是正确的。为什么它总是返回false?php不是ruby,您必须从三元组返回该值 要更详细地阐述
function session_active()
{
return ($_SESSION['p_logged_in'] ? true : false);
}
php不是ruby,您必须从三元组返回该值 要更详细地阐述
function session_active()
{
return ($_SESSION['p_logged_in'] ? true : false);
}
您可以尝试简单地
返回$\u会话['p\u logged\u in']
值:-
function session_active()
{
return (bool)$_SESSION['p_logged_in'];
}
您可以尝试简单地返回$\u会话['p\u logged\u in']
值:-
function session_active()
{
return (bool)$_SESSION['p_logged_in'];
}
试试这个:
function session_active() {
return (isset($_SESSION['p_logged_in'])) ? true : false;
}
试试这个:
function session_active() {
return (isset($_SESSION['p_logged_in'])) ? true : false;
}
要更正您的逻辑,请在您的座位前面添加return
要简化它,请执行:return(bool)$\u SESSION['p\u logged\u in']
要更正您的逻辑,请在您的座位前面添加return
要简化它,请执行:return(bool)$\u SESSION['p\u logged\u in']
在$\u会话['p\u logged\u']==true
和$\u会话['p\u logged\u']之间存在差异null
,通过返回$\u会话['p\u logged\u in']可能会比它测试的影响更大。在
$\u会话['p\u logged\u in']==true
与$\u会话['p\u logged\u']之间存在差异null,通过返回$\u会话['p\u logged\u in']可能会产生比测试更大的影响。为什么不能返回$\u会话['p\u logged\u in']代码>?在这种情况下,它将是(bool)$\u SESSION['p\u logged\u in'],只是为了根据变量fyi的值覆盖您的屁股,并进一步说明:如果您的PHP=>5.4.0,该函数可能会很有帮助,为什么您不能返回$\u SESSION['p\u logged\u in']代码>?在这种情况下,它将是(bool)$\u SESSION['p\u logged\u in'],只是为了根据变量fyi的值覆盖您的屁股,并进一步说明:如果您的PHP=>5.4.0,该函数可能会很有帮助,因为作者希望看到一个十进制语句,所以编写此函数的更详细的方法是返回$\u SESSION['p\u logged\u']?真:假;但由于$_SESSION['p_logged_in']解析为布尔值,因此返回该值更为简洁。由于作者希望看到一个十进制语句,因此编写此语句的更详细方式是返回$_SESSION['p_logged_in']?真:假;但是由于$_SESSION['p_logged_in']解析为布尔值,因此返回该值更为简洁。