前提须知:
- PHP 支持一个错误控制运算符:@。当将其放置在一个 PHP 表达式之前,该表达式可能产生的任何错误信息都被忽略掉。
- PHP所有运算符知识点(运算符的优先级、比较运算符、递增/递减运算符、逻辑运算符)
- ==和===的区别:==比较的是值、===不仅比较值还比较类型
- 等值判断(FALSE的七种情况:0,0.0 ,'','0',false,array(),NULL):记住FALSE的七种情况都是等值的
- 递增/递减运算符:不会影响布尔值(加加减减还是true或false)
- 递减NULL值没有效果:NULL-- = NULL;递增NULL值为1:NULL++=1
- 递增/递减运算符:在前是先运算后返回,在后是先返回后运算
- 逻辑运算符:有短路作用($a = true || $b == 3;$a等于true后面就不会执行了;逻辑与同样道理)
- ||和&&与or和and的优先级不同($b = false || true;【$b = true】;$b = false or true;【$b = false】)
运算符优先级:
下表按照优先级从高到低列出了运算符。同一行中的运算符具有相同优先级,此时它们的结合方向决定求值顺序。
说明:左 = 从左到右,右 = 从右到左
重点记忆:递增/递减>!>算术运算符>大小比较>(不)相等比较>引用>位运算符(^)>位运算符(|)>逻辑与>逻辑或>三目>赋值>and>xor>or
例子:
<?php
/**
* 下列程序中请写出打印输出的结果
* <?php
*
* $a = 0;
* $b = 0;
* 解题思路:
* 优先级(> || =),所有先比较(3>0)为true,
* 比较运算符有短路作用:(后面不执行:$a=true,$b还是等于0)
*
* if ($a = 3 > 0 || $b = 3 > 0)
* {
* $a++;
* $b++;
* echo $a. "\n";
* echo $b. "\n";
* }
*/
$a = 0;
$b = 0;
if ($a = 3 > 0 || $b = 3 > 0)
{
$a++;
$b++;
echo $a. "\n";
echo $b. "\n";
}
//输出结果:
1
1
内容是对慕课网视频教程《360大牛带你横扫PHP职场 全面解读PHP面试》的看后总结记录