php 中的“异类”写法 $a && $b =$c

2018-12-13  本文已影响0人  卡地亚克思
$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: && 和赋值运算符“=”的优先级是&&优先级高,但是加红的写法中并不是 a和b 先做与运算然后 =c,这么理解相当于 1=c, 而 1=$c这样的写法是错误的

2: 这种另类的写法正确的理解方式为:
if(a){b = c} , 即如果a为真,则执行赋值语句b =c;否则不执行此赋值语句,这样结果不难理解

上一篇 下一篇

猜你喜欢

热点阅读