(1)代碼: $a = 5; var_dump($a > true).'<br>'; ?為何結(jié)果為:boolean false?求詳解(2)代碼:<?php $a = 3; $b = 5; if($a = 5 || $b = 7){ $a++; $b++; } echo $a,$b; var_dump($a); var_dump($b);?>輸出為:16。求詳解,謝謝。以及為什么var_dump($a)為boolean true。為什么$b=6?
2 回答
已采納

慕妹3887762
TA貢獻9條經(jīng)驗 獲得超4個贊
問題一:
這個是強制轉(zhuǎn)換的問題,當你使用$a > true時,$a被強制轉(zhuǎn)換成了布爾值進行比較,比較標準是true>false
問題二:
if($a = 5 || $b = 7),這個語句中如果不是故意寫錯的話,應該要寫成( ( $a == 5 ) || ($b == 7 ) )那比較直觀,也就不會有這么多問題了。這個主要就是if里面的運算順序問題了
$a = 5 || $b = 7 這里其實按去處符就變成了 $a = (5 ?|| ?($b=7)) ?,然后 由于$a = 5 返回了bool(true),所以$b = 7是不會執(zhí)行的。到了函數(shù)體中,由于 $a = true;所以$a ++ 不會有變化。
- 2 回答
- 0 關(guān)注
- 1646 瀏覽
添加回答
舉報
0/150
提交
取消