PHP运算符
- 运算符与表达式
- 算术运算符
- 关系运算符
- 逻辑运算符
- 赋值运算符
- 字符串运算符
- 错误控制运算符
- null合并运算符
- instanceof
算术运算符
一元运算符
- 一元运算符
- 自增运算
++
- 自减运算
--
- 前置:先自增再运算
- 后置:先运算再自增
<?php
$num= 5;
echo (++$num)+(++$num)+(++$num); //21
# -------------------------
$num= 5;
echo ($num++)+($num++)+($num++); //18
?>
二元运算符
- 二元运算符
- 加运算
+
- 减运算
-
- 乘运算
*
- 除运算
/
- 模运算
%
<?php
echo '10'+'20','<br>'; //30
echo '10ab'+'20cd','<br>'; //30
echo 'ab10'+'cd20','<br>'; //0
?>
三元运算符
<?php
$num= 11;
echo $num%2? '奇数': '偶数';
?>
关系运算符
- 比较运算符
- 运算结果是布尔值
>
>=
<
<=
==
!=
===
!==
逻辑运算符
- 逻辑运算符
&
按位与,运算符两边的表达式都要计算
|
按位或,运算符两边的表达式都要计算
~
按位非,运算符两边的表达式都要计算
$$
短路与,如果前面的条件不满足,后面的条件就不用计算了
||
短路或,如果前面的条件满足,后面的条件就不用计算了
!
逻辑非
<?php
$a= 10;
$b= 20;
$c= 0;
var_dump($a& $b); // int(0)
print('<br>');
var_dump($a| $b); // int(30)
print('<br>');
var_dump($c&& $a++); // bool(false) 10
echo $a;
print('<br>');
var_dump($b|| $a++); // bool(true) 10
echo $a;
print('<br>');
var_dump(!$c); // bool(true)
?>
赋值运算符
- 赋值运算符
=
赋值
+=
加等于
-=
减等于
*=
乘等于
/=
除等于
%=
模等于
.=
连接等于
字符串运算符
<?php
echo 'aa'.'bb'; // aabb
?>
错误控制运算符
- 错误抑制符(@)
- 错误抑制符只对表达式有效
- 把他放在一个PHP表达式之前,将忽略表达式可能产生的任何错误信息
<?php
echo @($aa+$bb);
?>
null合并运算符
- null合并运算符(??)
- PHP7.0以后才支持
- 如果变量存在,则输出变量值
- 如果变量不存在或为
null
,则输出??
后面的值
<?php
$name= null;
echo $name??'姓名不详';
?>
变量检测判断方法
isset() 判断变量是否有值方法
<?php
$name= null;
echo isset($name)? $name: '姓名不详';
?>
empty() 检查变量是否为空方法
empty()
- 检查一个变量是否为空,能转成false全部是空
['',0,0.0,array(),null]
<?php
$stu=array();
echo empty($stu)?'空':'非空';
?>
is_numeric() 判断变量是否为数字方法
<?php
$num= 0;
if(is_numeric( $num )){
echo $num.'是数字';
}
?>
instanceof