Rumah > Soal Jawab > teks badan
Cuba tambah & dan atau dalam yang sama jika tetapi syarat atau tidak berkesan
else if ($usuario = 12 & $banca <=3 or =>7){ echo "ok"; }
hanya sah apabila $banca <=3
时有效,但在 $banca >=7
apa salahnya
Julat yang saya cuba semak adalah antara <=3 和 >=7
P粉2573421662023-09-16 00:35:37
Terdapat beberapa isu dengan kod anda. Yang lebih mudah dan yang lebih kompleks: sintaks dan keutamaan pengendali.
Pertama, pengendali =
是用于赋值,而不是比较。因此,$usuario = 12
的结果是 12
。接下来,您有一个按位运算符 &
,如果 $banca > 3
,则输出 0
,否则 12
。最后,您获取该结果并检查它是否为 >= 7
. Dalam erti kata lain: menggunakannya tanpa mengetahui pengendali tidak akan memberi manfaat kepada anda. Sila mendalami bahasa php.
Walaupun sintaks anda berfungsi dalam PHP, keutamaan pengendali juga boleh mengacaukan hasilnya. Lihat keutamaan operator PHP. Ini ialah salah satu sebab mengapa linters dan manual amalan terbaik akan mengarahkan anda untuk menambah kurungan untuk menjelaskan kriteria anda, dan bukannya bergantung pada keutamaan pengendali kabur.
Sekarang, bagaimana kita hendak menyelesaikan masalah ini? Sekali lagi, sila lihat dengan lebih dekat pengendali PHP dan sintaksnya. Terdapat beberapa kursus yang bagus di luar sana, serta Manual PHP Rasmi. Tetapi jangan biarkan anda tergantung, keadaan anda sepatutnya kelihatan seperti ini:
if ($usuario === 12 && ($banca <= 3 || $banca >= 7)) { ... }