在if语句表达式中设置变量
今天我遇到了一些有趣的代码。 我试图找出这是PHP的一项功能,或者我错过了一些东西,但无法在Google上找到任何东西。 可能是因为我不知道它的名字。
码
if($logo = RepositoriesLogo::getLogoData($id)){
$logo_href = $logo->link;
}
变量$logo
并未在其他地方设置。 看起来这个if语句中的表达式正在检查该类方法是否正在返回任何内容,并同时设置要在语句中使用的变量$logo
。
这是真的? 如果是这样,那么这叫做世界上什么!!!
你可以在条件中做这样的任务。 逻辑上发生的事情是,该值被分配给$logo
,然后评估$logo
是否是真的。 如果是真的,则执行条件中的代码。
在循环访问数据库结果集的情况下,您经常会看到这种赋值/评估,但通常我会建议,为了清晰地读取g代码,应该在这种常见用例之外避免这种情况。
是的,这是一个功能。 就像是:
$a=$b=5;
但在这种情况下,想象一下if为var $ a的布尔结果。
但是,由于== = =是一个非常常见的可能的错误来源,所以IDE用于抱怨这样的解决方案。
链接地址: http://www.djcxy.com/p/58867.html