一、算术运算符1、概述示例名称结果$a+$b加法$a和$b求和。$a-$b减去$a和$b之间的差值。$a*$b乘以$a和$b的乘积。$a/$b除法$a除以$b的商。$a%$b取$a除以$b的余数。-$a否定$a的反义词。2.TIPS除法运算符总是返回一个浮点数。唯一的例外是当两个操作数都是整数(或转换为整数的字符串)并且可以整除时,它返回一个整数。模运算符的操作数在运算前被转换为整数(减去小数部分)。模运算符%的结果与被除数具有相同的符号(符号)。也就是说,$a%$b的结果与$a的符号相同。例如:echo(5%3)."\n";//打印2echo(5%-3)."\n";//打印2echo(-5%3)."\n";//打印-2echo(-5%-3)."\n";//prints-22.按位运算符1.概述示例名称结果$a&$bAnd(按位与)将把$a和$b中两个1的位都设置为1。$a|$bOr(按位或)将$a或$b中为1的位设置为1。$a^$bXor(按位异或)将$a和$b中为1的位设置为1,另一个为0到1。~$aNot(按位求反)将$a中的位设置为0到1,反之亦然。$a<<$bShiftleft将$a中的位向左移动$b次(每次移位意味着“乘以2”)。$a>>$bShiftright将$a中的位向右移动$b次(每次移位意味着“除以2”)。2.TIPS位移是PHP中的数学运算。在任一方向移出的位都被丢弃。左移时,右侧用零填充,符号位被移除意味着符号不被保留。右移时,左边填充符号位,即保留符号。使用按位运算符时要特别注意优先级。例如:$a&$b==true比较后进行按位与;($a&$b)==true在比较之前执行按位与。三、比较运算符1、概述示例名称结果$a==$b等于TRUE,如果$a在类型转换后等于$b。如果$a等于$b并且它们属于同一类型,则$a===$b为全等TRUE。如果$a在转换后不等于$b,则$a!=$b不等于TRUE。如果$a在转换后不等于$b,则$a<>$b不等于TRUE。如果$a不等于$b,或者它们的类型不同,则$a!==$b不等于TRUE。如果$a严格小于$b,则$a<$b小于TRUE。如果$a严格大于$b,则$a>$b大于TRUE。如果$a小于或等于$b,则$a<=$b小于或等于TRUE。如果$a大于或等于$b,则$a>=$b大于或等于TRUE。$a<=>$b飞船运算符(组合比较运算符)当$a小于、等于或大于$b时返回小于、等于或大于0的整数值。PHP7开始提供$a??$b??$cNULL合并运算符从左到右第一个存在且不为NULL的操作数。如果两者都未定义且不为NULL,则返回NULL。PHP7开始提供。2.TIPS如果比较一个数字和一个字符串,或者比较一个涉及数字内容的字符串,字符串会被转换为一个值,并根据该值进行比较。此规则也适用于switch语句。使用===或!==进行比较时,不会进行类型转换,因为此时比较的是类型和值。truevar_dump("1"=="01");//1==1->truevar_dump("10"=="1e1");//10==10->truevar_dump(100=="1e2");//100==100->trueswitch("a"){case0:echo"0";break;case"a"://永远不会到达a因为"a"已经匹配0echo"a";打破;}?>3。对于多个类型,比较运算符比较(按顺序)操作数1类型操作数根据下表2类型结果null或stringstring将NULL转换为""进行数值或词法比较bool或null任何其他类型转换为bool,FALSE
