return($var);
和return $var;
之間是否有區別,然後用圓括號包裝它?PHP return(value); vs返回值;
回答
除非您通過參考返回,它們意味着同樣的事情。最好排除括號。從the docs:
注:請注意,由於
return()
是一個語言結構而非函數,不需要圍繞其參數的括號內。通常將它們排除在外,實際上應該這樣做,因爲PHP在這種情況下的工作量較少。
注:通過引用返回時,你不應該使用括號返回變量,因爲這將無法正常工作。您只能通過引用返回變量,而不是語句的結果。如果您使用
return ($a)
;那麼你不會返回一個變量,而是表達式($a)
(當然,它的值爲$a
)的結果。
注意,由於回報率()是一個語言結構而非函數,不需要圍繞其參數的括號內。 這是很常見的情況,你應該這樣做,因爲PHP在這種情況下的工作量較少。
您應該從參考返回時不要在返回變量的周圍使用括號,因爲這樣做不起作用。您只能通過引用返回變量,而不是語句的結果。如果你使用return($ a);那麼你沒有返回一個變量,而是表達式($ a)的結果(當然這是$ a的值)。
(Source)
是。如果使用括號,它將成爲PHP必須首先解決的表達式,這是浪費幾個CPU週期。此外,您不能通過參考使用return($var);
作爲參考,僅通過使用return $var;
這全部在the manual中清楚地陳述。
「通過引用返回時,你不應該使用括號返回變量,因爲這將無法正常工作,您只能通過引用返回變量,而不是語句的結果。如果你使用return($ a);那麼你沒有返回一個變量,而是表達式的結果($ a)(當然這是$ a的值)。「
編輯: 這意味着有return($var)
和return $var
之間的差。具體而言,前者將返回值$var
,後者將返回$var
本身。
這是一個語言結構,不是函數,所以兩者都工作幾乎相同。有兩個不同tho。引用php.net:
如果沒有提供任何參數,那麼 括號必須被省略NULL 將被退回。調用()返回 用括號但不帶參數 將導致解析錯誤。
和
你不應該使用括號 在你返回變量返回時,通過參考 ,因爲這將 不起作用。您只能通過引用返回 變量,而不是結果的聲明 。如果您使用退貨 ($ a);那麼你就不能返回 變量,但 表達式的結果($ A)(這是當然, 的的$值)。
來源:php.net
我使用括號中的唯一時間是與陣列返回兩個值時。
return array($val,$valb);
這個例子與你最初的問題不同,但是這是唯一的例子,我認爲括號是必需的。
非常好的一點! – 2010-05-27 15:52:48
只有我使用它們的時間是確定一個快速的返回值:'回報:;'但大部分時間我把括號(是$ var'是的「不」?) – Zack 2010-05-27 16:57:16
- 1. textarea does not return value
- 2. php class return;函數返回
- 3. VBA - 評估返回值#VALUE
- 4. @Value註釋不返回值
- 5. @Value返回錯誤值
- 6. Elseif返回#VALUE
- 7. proc return vs lambda return
- 8. 返回值php
- 9. Excel - VLOOKUP返回#VALUE
- 10. LINQ:返回var-value?
- 11. QDoubleSpinBox value()返回不正確的double值
- 12. PHP的echo函數的返回值VS回聲內功能
- 13. validateValue:function(value)return alert 3 times
- 14. PHP返回值
- 15. RETURN QUERY VS RETURN QUERY EXECUTE
- 16. PHP函數'返回'不返回值
- 17. onsubmit(return test();)不返回false;
- 18. return deferred.promise;並返回deferred.promise();
- 19. 作爲函數返回:return()
- 20. PHP Session類返回值
- 21. jquery:event.stopImmediatePropagation()vs return false
- 22. PHP docBlock @return className
- 23. Spring Boot - @Value返回null
- 24. 返回值從PHP函數
- 25. PHP fetch_assoc返回值,循環
- 26. PHP open_basedir - 返回值?
- 27. Node.js res.send VS res.end VS return res.end
- 28. return;返回true並返回false - 有什麼區別?
- 29. PHP XOR返回錯誤值
- 30. PHP DomDocument Return Doctype
較少的工作總是更好,謝謝。我猜這也適用於'回聲'以及? – 2010-05-27 14:29:48
@Josh K:它確實(加號,使用逗號而不是連接運算符)。 – webbiedave 2010-05-27 14:33:14
另請注意,減少工作可憐的過度工作的手指! – salathe 2010-05-27 14:44:46