php邏輯操作符中&和&&的異同
php有5種算術操作符(+ - * / %),6種賦值操作符(+= -= *= /= %= .=),8種比較操作符(=== < > <= >= != <> !==),6種的邏輯操作符(如&&、 ||、 &、 |、 ! 。其中邏輯與&可寫成and,邏輯或|寫成or),以及一些其他動作符([email protected] 執行操作符反引號"--不是單引號、字串操作符.與.=、遞增/遞減操作符++/--、三元操作符?:)。
關於操作符優先順序,可以參考相關文檔。
php中&和&&的異同
4 && (++$a>10)){}//輸出結果為11.echo $a;?>4 and (++$a>10)){}//輸出結果為11.echo $a;?>**************************************************************4 && (++$a<10)){}//輸出結果為11.echo $a;?>4 & (++$a<10)){}//輸出結果為11.echo $a;?>*********************************************************10)){}//輸出結果為10.echo $a;?>10)){}//輸出結果為11.echo $a;?>**************************************************************************************************************************************
運算式一$a && $b ,運算式二$a & $b
1、相同點:兩個運算式都是當$a、$b都為true時,運算式為真。兩種運算子對此運算式結果沒有影響。
2、不同點:運算式$a && $b中&&前面的$a為false時,已確定運算式為假,此時邏輯操作符&&後的$b不再進行計算,即所謂的被運算子“短路”了。而對於運算式$a & $b,不論&前的$a真假,運算式後的$b依然要進行計算。邏輯操作符後的$b是否被運行,可能影響到後面的資料和程式結果。
對於邏輯操作符||和|,異同同上。