本人做php有一段时间了,最近又看到之前的一个奇葩写法,居然忘了,不懂意思!于是重新研究了下!
$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这样的写法显然是错误的,你想过1的感受吗!不管$c是什么都要强加给她!她还是个孩子啊!看看她笔直的身材,要是S型就好了.--!
2: 这种另类的写法正确的理解方式为:
$a代表字符a, $b代表字符b
$a && $b 代表字符a与字符b进行逻辑与运算
&&与运算,同真时结果为真,再执行赋值语句$b = $c.否则结果为假
理解之后我们和博主肾大叔在做一道题吧!
第1题:
$a = 1;$b = 2;$c = 3;
$a ||$b = $c;
echo "a:$a";
echo "b:$b";
echo "c:$c";
这样是?
第2题:
$a = 0;$b = 2;$c = 3;
$a || $b = $c;
echo "a:$a";
echo "b:$b";
echo "c:$c";
这样是?
第3题:
$a = 0;$b = 0;$c = 5;
$a &||$b = $c;
echo "a:$a";
echo "b:$b";
echo "c:$c";
这样是?
对了,不要问我为什么是呼伦贝尔草原绿! 嘿嘿!