我想這樣做:PHP:分配變量並在相同if語句中對它進行測試?
if ($field = myFunction($node, 'field') && $field['value']) {
//do something with $field
}
PHPStorm警告$場,即使它只是設置& &後不確定。這只是PHPStorm是片狀還是有一些原因實際上不應該工作?
我想這樣做:PHP:分配變量並在相同if語句中對它進行測試?
if ($field = myFunction($node, 'field') && $field['value']) {
//do something with $field
}
PHPStorm警告$場,即使它只是設置& &後不確定。這只是PHPStorm是片狀還是有一些原因實際上不應該工作?
這是運營商的優先級。只要看看http://docs.php.net/manual/en/language.operators.precedence.php
它應該是:
if (($field = myFunction($node, 'field')) && $field['value']) {
//do something with $field
}
爲您正常工作。在這種情況下,PhpStorm不會警告
這種情況表明,如果您不是100%確定操作順序,最好總是使用圓括號。想象一下,如果PhpStorm在這種情況下沒有提醒你並且在你的測試中按預期工作,會發生什麼。
+1擊敗我吧...... :) –
您鏈接了PL版本的它包含非英文單詞(參見*Przykład#1 Associativity *)。我建議你鏈接英文網頁。 –
謝謝,我剛糾正鏈接 –
它不會警告我,您使用的是哪個版本? –
@槍它不是一個解決方案,仔細閱讀 –
@槍實際上他想在左邊的語句中分配一個變量,並在右邊比較 –