php 运算符

来源:互联网 发布:提升搜狗关键词优化 编辑:程序博客网 时间:2024/06/06 02:17

总结了一部分面试题,比较容易混的资料 ,今天整理了下

foo()和@foo()的区别是什么

错误控制符@

当放到php表达式之前,该表达式可能产生的任何错误信息都被忽略掉

php所有的运算符考点

运算符的优先级

递增/递减 > ! > 算数运算符  > 大小比较运算符 > (不)相等比较 > 引用 > 位运算符(^)> 位运算符(|)> 逻辑与 > 逻辑或 > 三目 > 赋值 > and > xor > or 


注意:true  null  0

递增/递减 运算符不影响布尔值

false--    false    

false++  false


递减NULL值没有效果  

递增NULL值为1 

NULL--    NULL

NULL++   1


TRUE++  还是1

0++ 是1


1 递增/递减运算符

<?php$x=10; echo ++$x; // 输出 11$y=10; echo $y++; // 输出 10$z=5;echo --$z; // 输出 4$i=5;echo $i--; // 输出 5?>

2 算数运算符

$x=10; $y=6;echo ($x + $y); // 输出 16echo ($x - $y); // 输出 4echo ($x * $y); // 输出 60echo ($x / $y); // 输出 1.6666666666667echo ($x % $y); // 输出 4

比较运算符

$x=100; $y="100";var_dump($x == $y);echo "<br>";var_dump($x === $y);echo "<br>";var_dump($x != $y);echo "<br>";var_dump($x !== $y);echo "<br>";$a=50;$b=90;var_dump($a > $b);echo "<br>";var_dump($a < $b);

4 逻辑与

$a && $b


5 逻辑或

$a  ||  $b


6 赋值运算符

$x=10; echo $x; // 输出 10$y=20; $y += 100;echo $y; // 输出 120$z=50;$z -= 25;echo $z; // 输出 25$i=5;$i *= 6;echo $i; // 输出 30$j=10;$j /= 5;echo $j; // 输出 2$k=15;$k %= 4;echo $k; // 输出 3

括号的使用,可以增加代码的可读性


递增和递减在前就先运算后返回,反之就先返回,后运算


逻辑运算符

短路作用 

$a = true || $b == 3     ------ 逻辑或有一个为true就短路,后面不执行,$b就没有赋值
|| 和 && 与 or 和 and的优先级不同

$a = false || true   ------ $a = true  逻辑或优先级大于赋值预算符,先执行 false || true $b = false or true   ------ 赋值运算符优先级高于or,先执行$b = false,则$b的值为false,整体为true

1 真题

$a = 0;$b = 0;if($a = 3 > 0 || $b = 3 > 0){   $a ++;   $b ++;   echo $a;   echo $b;}

分析

大小比较运算符>逻辑或>赋值预算符3>0是true,逻辑或有一个为true,结束,后面不执行,$b还是0,整体为true,
$a = true, true++ 还是true,最后$a++ = 1,$b++ = 1


$a = 0;$b = 0;if($a = 3 && $b = 3 ){   $a++;   $b++;}echo $a; //1echo $b; //4 
逻辑与优先级大于赋值运算符,$a = 3 && $b = 3都为真,$b为3,但是整体为true,$a = true,true++为1,$b为4

$a = 0;$b = 0;if($a = 3 || $b = 3 ){   $a++;   $b++;}echo $a; //1echo $b; //1

逻辑或优先级大于赋值运算符,$a = 3 || $b = 3逻辑或有一个为真,就会短路,后面不执行,$b还是0,0++为1,而

3 || $b = 3)为true,$a为true,true++为1

$a = 10;echo $a++;  //10  只是返回,没有加一的变量$a = 10;$a++;echo $a;  //11  返回之后去加一