我已经看过以下几行代码,我知道它们做了什么,但我不知道第二行是如何工作的(因此如何将它应用于另一种情况)。有人可以解释这行代码吗? (逻辑与作业运算符)
$user = User::model()->findByPk(123);
empty($user->profile) and $user->profile = new Profile();
代码尝试从数据库中查找用户,如果没有配置文件,则创建一个新的供以后使用。
我也看到代码去像之前如下:
$variable1 = $variable2 = $variable3;
它没有指定三件事是相同的东西有点简单多复杂,但我发现它无法搜索对于这种类型的东西来找出任何关于它的信息,更不用说找到我遇到的原始代码了。我认为它最初有一个'和'在那里。有谁知道如何搜索具有多个等号的代码,这不仅仅是一个if语句?
对不起,在一个(而且含糊不清)的两个问题和可怕的标题(当我知道名称是什么,如果它像一个十进制语句的东西))。
您可以简单地发布您想要完成的任务,而不是发布一些看似辉煌但神秘的代码段。或者,如果您不得不维护代码并且不明白它的作用,您可以在代码周围的其他代码中发布有问题的代码行吗? – 2009-11-13 23:04:40
谢谢大家,我的记忆失败了我的第二部分的问题(因此我的描述是可悲的),但山姆的答案(http://stackoverflow.com/questions/1732403/can-someone-explain-this-line- of-code-please-logic-operators/1732429#1732429)帮助我记住,我所看到的仅仅是问题第一部分的一个变种。 – 2009-11-13 23:08:27
我实际上并没有试图完成任何事情,也没有维护包含它的代码。我几个月前刚刚遇到了我的问题的第二部分,从那以后一直在努力解决它。问题的第一部分是当我决定最终在SO上发布问题时,我可以处理的最接近的代码(我也不明白)。 – 2009-11-13 23:15:06