在PHP/YII中显示字段(如果不为空)

在PHP/YII中显示字段(如果不为空),php,yii,Php,Yii,我曾经用Groovy编写代码。。。我发现这个‘特性’(不知道他们叫它什么)非常有趣,非常好(我听说他们也在C#上实现了这个) 例如。。。我想显示一个人的名字 我只是打字 println person?.neigbour?.name ; 这意味着如果邻居是空的/空白的。。它没有显示任何东西 如何在PHP5/yii中实现这一点 例如: 而不是像这样输入长代码 “/> 像这样打字会更好吗 “/>使用empty() 检查: 首先,我认为这不是Yii问题,只是PHP问题。假设您将Yii与好的模型一起使

我曾经用Groovy编写代码。。。我发现这个‘特性’(不知道他们叫它什么)非常有趣,非常好(我听说他们也在C#上实现了这个)

例如。。。我想显示一个人的名字

我只是打字

println person?.neigbour?.name ; 
这意味着如果邻居是空的/空白的。。它没有显示任何东西

如何在PHP5/yii中实现这一点

例如:

而不是像这样输入长代码 “/>

像这样打字会更好吗 “/>

使用
empty()
检查:


首先,我认为这不是Yii问题,只是PHP问题。假设您将Yii与好的模型一起使用,则会出现如下情况:

if($person && $person->neighbour && !empty($person->neighbour->name))  {
   echo $person->neighbour->name;
}
这方面的快捷方式可能是(不太好):


如果您希望使用PHP解决方案,请显示PHP中的示例代码。一般来说,有一些函数像
isset
empty
,但我不认为有像您的示例中那样糟糕的语法。isset不适合您吗?不。。。我想要简单的语法,如果php有。。。例如:(只是为了说明…不是正确的php语法,因为我不知道php是否有运算符)
if($person && $person->neighbour && !empty($person->neighbour->name))  {
   echo $person->neighbour->name;
}
echo $person ? ($person->neighbour ? ($person->neighbour->name ? $person->neighbour->name : "" ) : ""  ) : "";