【发布时间】:2009-11-13 22:52:41
【问题描述】:
我已经看过以下几行代码,我知道它们的作用,但我不知道第二行是如何工作的(以及如何将其应用于另一种情况)。
$user = User::model()->findByPk(123);
empty($user->profile) and $user->profile = new Profile();
代码尝试从数据库中查找用户,如果没有配置文件,则创建一个新的供以后使用。
我之前也看到过类似下面的代码:
$variable1 = $variable2 = $variable3;
它做的事情比简单地将三个东西分配为相同的东西要复杂一些,但我发现不可能搜索这种类型的东西来找到任何关于它的信息,更不用说找到我的原始代码了碰到了。我认为它最初在某个地方有一个“和”。有谁知道如何搜索包含多个等号且不仅仅是 if 语句的代码?
很抱歉这两个问题合二为一(而且含糊不清)和糟糕的标题(当我知道名字是什么时,我会修复它,如果它像一个tenary statement的话)。
【问题讨论】:
-
与其发布一些看似出色但神秘的代码段,您可以简单地发布您想要完成的事情吗?或者,如果您必须维护代码并且不了解它的作用,您能否将有问题的代码行发布到它周围的其他代码的上下文中?
-
谢谢大家,我对第二部分问题的记忆让我失望了(因此我的描述很糟糕),但 Sam 的回答 (stackoverflow.com/questions/1732403/…) 帮助我记住了我所看到的只是一个问题第一部分的变体。
-
我实际上并没有尝试完成任何事情,也没有维护包含它的代码。几个月前,我只是遇到了问题的第二部分,从那以后一直在努力解决。当我决定最终将问题发布在 SO 上时,问题的第一部分是我可以解决的最接近的代码(我也不明白)。
标签: php