第一種
$a = 1;
$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: && 和賦值運算符“=”的優先級是&&優先級高,但是加紅的寫法中並不是 b先做與運算然後 = c, 而 1= a){ c},即如果 b = $c;否則不執行此賦值語句,這樣結果不難理解