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

Issue with isset() inside nested 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';

错误:

Notice: Trying to get property of non-object in /home/.... on line...

我不知道我错过了什么?

如有任何帮助,我们将不胜感激。

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

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