定义: 系统自定义的特殊符号 PHP解释器在遇到这种符号时 按照预定的方式实现运算 满足存储的要求以及满足给用户显示的状态
//赋值运算符 比较简单 = += -= *= /=
$b = 10;
echo $b+=1; //相当于$a =$a+1;
echo $b-=1; //相当于$a=$a-1;(注意被减数与减数的位置)
echo $b*=2; //相当于$a=$a*2;
$b/=2; //相当于$a=$a/2;由于除数不能为0 所以/=的右边表达式不能为0
echo $b;
//普通运算符 + - * / 加减乘除 %取余 取余数
echo $c = 5%2; //$c=1:
//错误抑制符 @
$d=4;
$str4 = "3.2a1";
echo @($d+$str4);
echo "<br/>";
/*如果没有@错误抑制符 在浏览器会跳出一行 notice提示这种低级错误
错误抑制符是一种代码保护机制 主要是为了不让客户看到这些错误*/
//比较运算符 > < >= <= == === 大于 小于 等于 等比较运算符是双目运算符 通过比较返回boolean值
//比较特殊的是 == === ==只是比较值是否相等 ===还会比较是否为同一数据类型
$e =10;
$str5="10a";
var_dump($e==$str5);//bool(true) 由于弱语言特性 ==比较运算符会先自动转换类型 然后在进行比较
var_dump($e===$str5);//bool(false) 数据类型不同
var_dump((boolean)-1);//(boolean)-1; php数值转boolean 只有0这一个情况 会转换成false
//飞船运算符 <=> 集大于小于等于一身 以左边为主体 左边大于右边 1 反之 -1 等于0
$f = 5;
$g = 6;
echo $f<=>$g; //-1
//合并运算符 ?? 类似与三目运算符 @a =表达式一 ?? 表达式二 判断表达式一是否存在 存在$a的值就为表达式一
$h = $g ?? $f;
echo $h; //6 $g存在 $h=6; 当表达式一存在时 就不再运行表达式二 是一种短路运算
//需要注意的是 合并运算的判断方法是表达式一是否存在 而不是 是否为true
上边分别描述了 赋值运算符 普通运算符 错误抑制符 比较运算符 飞船运算符 合并运算符的使用方法 和 注意事项除了这些运算符 还有自增自减运算符 连接运算符 逻辑运算 三目运算符等
自增 ++ 前置 先自我运算然后将自身的结果给其他运算 后置与前置相反 先讲数值给其他运算 在自我运算
<?php
$a =10;
echo ++$a; //11
echo $a; //11
echo $a++; //11
echo $a; //12
//只有与其他函数或者运算有关系时 前置与后置才会有区别 当自增或自减独自一行时 二者没有区别
?>
自减与自增类似
连接运算符 . 用于PHP中字符串的运算 无论什么数据类型的数据使用了“ . " 运算符 都会被当作字符串类型处理
<?php
$a=10;
$b=203;
var_dump($a.$b);//输出为string(5) "10203"
?>
三目运算符和和合并运算符类似 表达式一?表达式二:表达式三; 判断表达式一是否存在 如果存在则运行表达式二 否则运行表达式三 相交于合并运算符比较麻烦