嵌套三元运算符中的isset()问题

时间:2017-01-14 19:56:00

标签: php ternary-operator

我正在尝试使用if-else登录显示输入字段值,我想使用单行ternary运算符,但它总是返回错误。但是,如果我使用if-else它工作正常。我的代码是:

工作正常

if(isset($_COOKIE['m_name'])){
    echo $_COOKIE['m_name']; 
}else if(isset($this->userdata)){
    echo $this->userdata[0]->first_name;
}else{
    echo 'No Data';
}

返回通知始终

echo isset($_COOKIE['m_name'])? $_COOKIE['m_name']: isset($this->userdata)?$this->userdata[0]->first_name:'No Value';

错误:

  
    

注意:尝试在/ home / ....中获取非对象的属性......

  

我不知道我错过了什么?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

我不确定,但我认为应该是

echo (isset($_COOKIE['m_name'])? $_COOKIE['m_name']: (isset($this->userdata)?$this->userdata[0]->first_name:'No Value'));