下面是例子:
如果我寫這樣的:如果與其他運營商三元
<?php
$var = 'A';
echo ($var == 'B' || $var == 'C') ? 'B or C' : 'A';
?>
//輸出將是 「A」 但如果我寫的象下面這樣:
<?php
$var = 'A';
echo ($var == ('B' || 'C')) ? 'B or C' : 'A';
?>
它給我出了「B或C」。
這裏($ var ==('B'||'C'))是不正確的,或者我錯過了什麼?
創建PHP小提琴:http://phpfiddle.org/main/code/wju-46r
因爲在第二次,你正在做'B'和'C'的OR,然後將結果與$ var進行比較; 'B'或'C'將評估爲布爾(真),所以你得到類型鑄造$ var到布爾值來與布爾真正的比較 –