回答
操作員「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是'真正'評估停止。 ; -/ –