PHP运算符
运算符是可以通过给出的1或多个值(用编程行话来说,表达式)来产生另1个值(因而整个结构成为一个表达式)的东西。
PHP算术运算符运算符名称描述例子结果
+加号两值的和4+26
-减号两值的差4-22
*乘号两值的积4*28
/除号两值的商4/22
%取模除法的余数4%20
-取反正数的取反是负数-4-4
.并置两字符的连接"HI".“K”HIK
$a=4;
$b=2;
print $a+$b.'
'; //结果为:6
是HTML标识,代表换行
print $a-$b.'
'; //结果为:2
print $a*$b.'
'; //结果为:8
print $a/$b.'
'; //结果为:2
print $a%$b.'
'; //结果为:0
print -$a.'
'; //结果为:-4
print $a.$b.'
'; //结果为:42
?>
PHP赋值运算符
赋值运算符"=",把右边表达式的值赋给左边的运算数。运算符等同于描述
=$a=$b把变量的值赋值给变量a
+=$a+=$b($a=$a+$b)先把变量a和变量b相加再赋值
-=$a-=$b($a=$a-$b)先减再赋值
*=$a*=$b($a=$a*$b)先乘再赋值
/=$a/=$b($a=$a/$b)先除再赋值
.=$a.=$b($a=$a.$b)先连接再赋值
%=$a%=$b($a=$a%$b)先取模再赋值
$a=10;
echo $a; // 输出 10
$b=2;
$b += 1;
echo $b; // 输出 3
$c=2;
$c -= 1;
echo $c; // 输出 1
$d=2;
$d *= 2;
echo $d; // 输出 4
$e=4;
$e /= 2;
echo $e; // 输出 2
$f=5;
$f %= 2;
echo $f; // 输出 1
?>
PHP 比较运算符
用于比较两个值(数字或字符串)运算符名称例子结果
==等于5==6false
===全等4===“4”false(左边是数字,右边字符,类型不等)
!=不等于6!=8true
<>不等于7<>8true
!==不全等4!=="4"true
>大于6>7false
>=大于等于6>=8false
<=小于等于8<=8true
<=>太空船运算符(组合比较符)1<=>2,1<=>1,2<=>1-1,0,1返回三个值的其中一个,小于(-1),等于(0),大于(1)PHP7开始提供
??NULL合拼操作符4??'a'4,左边操作符存在且不为NULL的时候返回左边,否则返回右边
$a=8;
$b=10;
$c="10";
var_dump($a==$b); // 输出bool(false)
var_dump($b===$c); // 输出bool(false)
var_dump($a!=$b); // 输出bool(true)
var_dump($a<>$b); // 输出bool(true)
var_dump($b!==$c); // 输出bool(true)
var_dump($a>$b); // 输出bool(false)
var_dump($a
var_dump($a>=$b); // 输出bool(false)
var_dump($a>=$b); // 输出bool(false)
?>
PHP 逻辑运算符
判断左右两边值的true和false运算符名称例子结果
and与$a and $b如果$a和$b都为true,则为true,否则为false
or或$a or $b如果 $a 和 $b 至少有一个为 true,则返回 true,否则为false
xor异或$a xor $b如果 $a 和 $b 只能其中一个为 true,则返回 true,否则为false
!非!$a如果 $a 不为 TRUE
&&与$a && $b如果$a和$b都为true,则为true,否则为false
||或$a || $b如果 $a 和 $b 至少有一个为 true,则返回 true,否则为false
$a=8;
$b=10;
var_dump ($a 1) ;//返回true
var_dump ($a == 8 or $b == 1) ;//返回true
var_dump ($a ==8 xor $b ==10) ;//返回false
var_dump (!$a == 8) ; //返回false
var_dump ($a 1) ;//返回true
var_dump ($a 1) ;//返回true
?>
PHP 递增/递减运算符运算符名称结果
++$a前递增$a加1,返回给$a(等于$a=$a+1)
$a++后递增返回$a,后$a加1(等于($a=$a)+1)
--$a前递减$a减1,返回给$a(等于$a=$a-1)
$a--后递减返回$a,后$a减1(等于($a=$a)-1)
$a=8; $b=6; $c=4;$d=2;
var_dump (++$a) ;//$a为9 $a=$a+1;
var_dump ($b++) ;//$b为6 ($b=$b)+1;
var_dump (--$c) ;//$c为3 $b=$b-1;
var_dump ($d--) ;//$d为2 ($b=$b)-1;
?>
PHP 数组运算符运算符名称描述
$e+$d集合($e和$d为数组变量)$e和$d数组的集合
$e==$d相等$e 和 $d 拥有相同的键/值对,则返回 true。
$e===$d全等$e和 $d拥有相同的键/值对,且顺序相同类型相同,则返回 true。
$e!=$d不等$e不等于 $d,则返回 true
$e<>$d不等$e不等于 $d,则返回 true
$e!==$d不全等$e与 $d 完全不同,则返回 true
$e = array("aa" => "hong", "bb" => "lv");
$d = array("bb" => "lv", "dd" => "huan");
$t = $e + $d; // $a 和 $b 数组合并
var_dump($t); //array(3) {["aa"]=>string(4) "hong"["bb"]=>string(2) "lv"["dd"]=>string(4) "huan"}
var_dump($e == $d);//false
var_dump($e === $d);//false
var_dump($e != $d);//true
var_dump($e <> $d);//true
var_dump($e !== $d);//true
?>
PHP三元运算符
"?:"(三元运算符)
语法:(expr1) ? (expr2) : (expr3)
对 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。
$a = true;
$b=false;
$fruit=$a ? "t" : "f";
$fruit2=$b ? "t" : "f";
echo $fruit;//输出t
echo $fruit2;//输出f
?>
PHP运算符优先级
本表格是按照从上到下,结合方向(左:从左到右 右:从右到左 无:不分)的顺序排列。结合方向运算符描述
无clone newclone 和 new
左[array()数组
右++ -- ~ (int) (float) (string) (array) (object) (bool) @类型和递增/递减
无instanceof类型
右!逻辑运算符
左* / %算术运算符
左+ – .算术运算符和字符串运算符
左<< >>位运算符
无== != === !== <>比较运算符
左&位运算符和引用
左^位运算符
左|位运算符
左&&逻辑运算符
左||逻辑运算符
左? :三元运算符
右= += -= *= /= .= %= &= |= ^= <<= >>= =>赋值运算符
左and逻辑运算符
左xor逻辑运算符
左or逻辑运算符