php中一個"異類"語法: $a && $b = $c; php中一個"異類"語法: $a && $b = $c; $a = 1;$b = 2;$c = 3;$a && $b = $c;echo "a:$a";echo "b:$b";echo "c:$c";這樣是a:1b:3c:3$a = 0;$b ...
php中一個"異類"語法: $a && $b = $c;
$b = 2;
$c = 3;
$a && $b = $c;
echo "a:$a";
echo "b:$b";
echo "c:$c";
這樣是
a:1
b:3
c:3
$a = 0;
$b = 2;
$c = 3;
$a && $b = $c;
echo "a:$a";
echo "b:$b";
echo "c:$c";
這樣是
a:0
b:2
c:3 解析: 1: && 和賦值運算符“=”的優先順序是&&優先順序高,但是加紅的寫法中並不是 $a和$b先做與運算然後 =$c,這麼理解相當於 1=$c, 而 1=$c這樣的寫法是錯誤的 2: 這種另類的寫法正確的理解方式為: if($a){$b = $c},即如果$a為真,則執行賦值語句$b = $c;否則不執行此賦值語句,這樣結果不難理解