php工厂 2018-10-18
开篇先来一张php官网给出的运算符优先级的图片
$a = 1; echo $a+$a++; //output 3
考点:
1)运算符优先级以及短路的问题
分析:
1)从开篇头部图片可以看出 "++" 优先级是最高的,那么他将先运算,但是"++"又是先用该字符值后累计
2)当运算到$a的时候已经变成2,由于"++"已经执行了
3)2+1 最后输出3
$x = 5; echo $x; echo $x+++$x++; echo $x; echo $x---$x--; echo $x; 实际运行结果是 5 11 7 1 5
考点:
1)运算符优先级问题
分析:
1)$x++ 和 $x--这个问题其实非常容易遇见,我们只需记住$x++使用最近的值,然后才自增。
2)运算符的优先级,++ 是明显高于 +,因此先执行++ 再执行 + 。关于运算符的优先级,有
的时候我们真的可以通过括号来让我们的程序更加让人直观的了解,毕竟代码它不光是用于执行
的,有的时候或许团队的可读性也是提高效率的一种。
$bool = true && false; var_dump($bool); //output:false
考点:
1)算术运算符优先级的问题
分析:
1)&& > = 运算符,依次执行顺序为&& 之后是= ,因此输出false
$a = 0; $b = 0; if( $a=3>0 || $b=3>0 ){ $a++; $b++; echo $a.' '; echo $b.' '; } //output: 1 1
考点:
1)算术运算符优先级的问题
分析:
1)运算符优先级 > > || > = ,因此就会出现3>0,那么一个为true,整个条件都为true,将进入if条件