回答
操作员“OR”是一个逻辑运算符,用于检查的两个(或多个)方面有一个为真。如果$ a或($ a = $ b)为TRUE。 运算符“==”(在你的问题是=,但我认为==)是一个比较运算符,用于检查$ a是否等于$ b(如同样的值,术语A是真的,术语B是真,其他情况)。 谢谢
您可能想要编辑您的答案,以符合Ryan的评论。原始代码中的'='是正确的。 – andrewsi
PHP中的符号(=)是一个基本的赋值运算符。对? – Jefersonfs
你是对的。代码正在做的是检查'$ a'是否已经有一个值;如果它的值为false,那么它将给它赋值'$ b'。它的工作原理是OR操作从左到右计算,如果左边的计算结果为true,则右侧不会被检查。我已经在几个地方看到了这种构造,虽然我喜欢这种紧凑性,但我更愿意使用稍微更冗长的代码,这些代码在六个月后回来时更容易阅读。 – andrewsi
- 1. 由商运营商分配?
- 2. 计算分配运营商
- 3. SQL Server左加入'或'运营商
- 4. 或运营商与三元运营商
- 5. 运营商+超载左右
- 6. 所有或任何运营商的左侧必须是NSArray或NSSet
- 7. NSPredicate'所有或任何运营商的左侧必须是NSArray或NSSet'
- 8. RegEx - 或运营商
- 9. LLVM ::模块既是运营商的左侧*和 - > *
- 10. C++ STL分配器VS运营商新
- 11. 使用||运营商的替代分配
- 12. C#,类[]运营商和分配/复制
- 13. TSQL vbinary bitmasking用VARBINARY右侧运营商
- 14. “不匹配运营商+”
- 15. 的MongoDB:或运营商
- 16. `end`用或运营商
- 17. grepping柱(和|或)运营商
- 18. 穿越异或运营商
- 19. 运营商重载分数
- 20. 与运营商分解
- 21. 如何分解运营商?
- 22. 空 - 结合运营商和运营商&&
- 23. 运营商的情况下运营商
- 24. 的JavaScript +运营商VS - 运营商
- 25. 左侧的分配无效
- 26. 确定ECMAScript分配表达式的左侧或右侧
- 27. vb.net结合和或或运营商
- 28. 使用|| (或)或其他运营商?
- 29. 或者运营商在IF语句不工作Node.js加载
- 30. MongoDB奇怪的行为,或者运营商
嗨。请告诉 - 是$ a或$ a = $ b'是SQL查询的一部分吗? –
我应该认为这是PHP中的语法错误 - 一个等号是分配,而不是比较。我们需要看到更多的代码,并且一些解释/上下文也会很好。 – halfer
这是一个_conditional赋值语句。如果它包含一个“真”值,我希望它会单独保留_ $ a_的当前值。否则_ $ a_会被设置为_ $ b_中的值。另一种说法是 - 如果$ a为'false',则将$ a设置为$ b的值。或'短路',所以如果$ a是'真正'评估停止。 ; -/ –