嘗試在相同的 if 中加入 & 和 or,但 or 條件不起作用
else if ($usuario = 12 & $banca <=3 or =>7){ echo "ok"; }
僅在 $banca <=3
時有效,但在 $banca >=7
時無效
怎麼了?
我嘗試檢查的範圍在 <=3 和 >=7 之間
#P粉2573421662023-09-16 00:35:37
您的程式碼存在一些問題。一種較簡單的一種和一種較複雜的一種:語法和運算子的優先順序。
首先,運算子=
是用來賦值,而不是比較。因此,$usuario = 12
的結果是 12
。接下來,您有一個位元運算子 &
,如果 $banca > 3
,則輸出 0
,否則 12
。最後,您取得該結果並檢查它是否為 >= 7
。換句話說:在不了解操作員的情況下使用它們不會為您帶來任何好處。請深入研究 php 語言。
儘管您的語法在 PHP 中有效,但運算子優先順序也會弄亂結果。查看 PHP 的運算子優先權。這就是短絨檢查和最佳實踐手冊將指示您添加括號以使您的標準清晰,而不是依賴於晦澀運算符優先級的原因之一。
現在,我們該如何解決這個問題?再次,請進一步研究 PHP 的運算子及其語法。有一些很好的課程,還有PHP 官方手冊。但是,不要讓您懸而未決,您的情況應該是這樣的:
if ($usuario === 12 && ($banca <= 3 || $banca >= 7)) { ... }