一:算数运算符
- +(加)、-(减)、*(成)、/(除)
- %(取模,求余的意思)
<?php ???$a=7/3; ???echo $a; ???//2.3333333333333.因为float类型的最大精度为14位 ???//需求:判断2个数是否能整除 ???$a=55; ???$b=3; ???if($a%$b==0){ ???????echo "ok"; ???}else{ ???????echo "no"; ???//输出no ???} ????>
- ++、--(我们的++和--也分前后)
<?php ???$a=88; ???$a++; ????//等价于$a=$a+1 ???echo $a; ???//输出89 ???$b=55; ???$b--; ???//等价于$b=$b-1 ???echo $b; ???//输出54 ???echo "<br/>"; ???//细节:也分前++和后++ ???$c=22; ???$d=$c++; ???//先算后加,此时$d=22;$c=23 ???//$d=++$c; ???//先加后算,此时$c=23;$d=23 ???$f=++$d; ???//先加后算,此时$d=22+1=23;$f=23 ???echo $c."||".$d."||".$f; //输出结果为23 ||23||23 ???echo $f; ????>
- 左加(+=)、左减(-=)、左乘(*=)、左除(/=)、左取模(%=)
<?php ???$a=90; ???$a-=60; ???//$a=$a-90 ???echo $a; ???//输出30 ????>
二:比较运算符
- $a==$b:等于,true
- $a===$b:全等,true,类型也要一样
<?php ???$a=2; ???$b=2.0; ???if($a===$b){ ???????echo "ok"; ???}else{ ???????echo "no"; //输出no,因为类型不一致 ???} ????>
- $a!=$b:不等于
- $a!==$b:不全等
三:逻辑运算符
- and(逻辑与)必须都为true,优先级低
- or(逻辑或)任一为true,优先级低
- &&(逻辑与)必须都为true。同下例子
- ||(逻辑或)任一为true
???$a=10;$b=7; ???if($a++>8||$b++>7){ ???//逻辑或,前者为true后者不执行,所以$b=7 ???????echo "ok"; ???} ???echo $a.$b; ???????//11和7
- !(逻辑非)取反
and和&&都表示逻辑与,他们的区别主要体现在优先级上
||大于=大于or
???$e=false||true; ???//true ???$f=false or true; ???//false ???var_dump($e,$f);
&&大于=大于and
???$a=true && false; ???//false ???$b=true and false; ???//true ???var_dump($a,$b);
四:三元运算符
基本语法:表达式1?表达式2:表达式3
规则:如果表达1的结果为true,则取表达2的结果,反之取表达式3的结果
???$a=90; ???$b=80; ???$c=$a>$b?(12-5):900; ???echo "c=".$c; ???//7
五:字符串运算符
当两个变量(基本数据类型)用.连接时,就表示把他们的内容拼接起来
???$a="hello"; ???$b=123; ???$c=$a.$b; ???//表示内容拼接 ???echo $c; ???//输出hellocmf
六:类型运算符
instanceof用于确定一个php变量是否属于某一类class的实例
???class dog{} ???class cat{} ???$cat1=new cat; ???var_dump($cat1 instanceof cat) ???//输出true
七:运算符优先级
(七)php运算符
原文地址:http://www.cnblogs.com/8013-cmf/p/7722966.html