如何以更合理的方式检查现有属性if ($this->team)
if (($this->team->playerAssignment))
if (($this->team->playerAssignment->player))
?现在我检查一下:
defaultConfig {
..
resConfigs "en"
}
答案 0 :(得分:4)
尝试使用isset php功能。
isset - 确定变量是否已设置且不是NULL
if(isset($this->team->playerAssignment->player)){
}
答案 1 :(得分:1)
以下内容始终对我最有效:
if(isset(Auth::user()->client->id)){
$clientId = Auth::user()->client->id;
}
else{
dump('Nothing there...');
}
答案 2 :(得分:1)
您可以通过空合并运算符轻松检查
if ($this->team->playerAssignment->player ?? null)
答案 3 :(得分:0)
最好的方法是
if (
isset($this->team)
&& isset($this->team->playerAssignment)
&& isset($this->team->playerAssignment->player)
){
// your code here...
}
因为如果第一个对象是false
,PHP将停止,如果第一个对象存在,则继续第二个,第三个条件......
为什么不只使用&& $this->team->playerAssignment->player
?因为如果玩家的值为0
,则会将其理解为false
但存在变量!