将PHP 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 我正在查看中的示例,从

我想将此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


我正在查看中的示例,从示例中可以看出,这似乎是正确的。为什么它总是返回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']解析为布尔值,因此返回该值更为简洁。