and 在運(yùn)算符中優(yōu)先級(jí)比較低 ,比三元運(yùn)算符低,而&&比三元運(yùn)算符優(yōu)先級(jí)高,所以在($a and $b)?"通過":"不通過";中要加括號(hào),不加的話等同于$a and ($b?"通過":"不通過"); 也就是 $a and true;(邏輯與的結(jié)果也是布爾值,但在echo語(yǔ)句中true和false會(huì)轉(zhuǎn)化成1和0來(lái)顯示,但打印var_dump就會(huì)顯示布爾值)最后用echo語(yǔ)句就會(huì)輸出1;
2019-08-21
運(yùn)算符優(yōu)先級(jí)的高低決定了他的運(yùn)算順序,比如乘除比加減優(yōu)先級(jí)高,在編程語(yǔ)言中還有運(yùn)算順序,就不一一細(xì)講了。
and 在運(yùn)算符中優(yōu)先級(jí)比較低 ,比三元運(yùn)算符低,而&&比三元運(yùn)算符優(yōu)先級(jí)高,所以在($a and $b)?"通過":"不通過";中要加括號(hào),不加的話等同于$a and ($b?"通過":"不通過"); 也就是 $a and true;(邏輯與的結(jié)果也是布爾值,但在echo語(yǔ)句中true和false會(huì)轉(zhuǎn)化成1和0來(lái)顯示,但打印var_dump就會(huì)顯示布爾值)最后用echo語(yǔ)句就會(huì)輸出1;
2019-07-31
and和&&通用主要是php吸收兼容了多種語(yǔ)言的用法:
本質(zhì)相同
a and b?
and采用空格分開前后元素的原因是and與前后元素連在一起編譯時(shí)無(wú)法辨別,會(huì)產(chǎn)生誤差。
也可以用其他符號(hào)區(qū)分運(yùn)算符和前后元素,比如“()”等。
a&&b
不易產(chǎn)生誤差,沒必要用其他符號(hào)修飾。
2018-03-21
echo ($a and $b)?"通過":"不通過"; ? ?加了括號(hào),則先算括號(hào)里的,再進(jìn)行三元運(yùn)算符的計(jì)算,最后輸出的結(jié)果為“通過”;
echo $a and $b?"通過":"不通過"; ? ? 這一句沒有加括號(hào),則先算$b?"通過":"不通過"這一部分,運(yùn)算結(jié)果為“通過”,然后再跟$a進(jìn)行邏輯運(yùn)算,最后輸出的結(jié)果為“1”.
導(dǎo)致輸出結(jié)果不同的原因在于,and這個(gè)運(yùn)算符的優(yōu)先級(jí)比三元運(yùn)算符要低。
2018-03-11
如果沒有括號(hào)ture就會(huì)變成1,因?yàn)樵趀cho中ture會(huì)被換成1,加上括號(hào)就是先運(yùn)算括號(hào)中的內(nèi)容
2017-12-14
and 優(yōu)先級(jí)比 邏輯判斷符優(yōu)先級(jí)高,加上( )會(huì)讓人更能理解