PHP算术运算符
这里强调一下:
PHP7+ 版本新增整除运算符 intdiv()1
2
3<?php
var_dump(intdiv(10,3));
?>
返回3;
PHP赋值运算符
PHP递增/递减运算符
PHP数组运算符
这里强调关于’==’和’===’的差别1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19<?php
if('123'==123)
{
echo 'yes';
}
else
{
echo 'no';
}
echo ' ';
if('123'===123)
{
echo 'yes';
}
else
{
echo 'no';
}
?>
返回:yes no
如上表所示:
===为恒等,有相同的键/值对,并且相同的顺序,以及相同的类型
==为相等,有相同的键/值对
三元运算符
另一个条件运算符是”?:”(或三元)运算符 。
语法格式:
(expr1) ? (expr2) : (expr3)
对 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3
自 PHP 5.3 起,可以省略三元运算符中间那部分。
表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。1
2
3
4
5
6
7
8
9
10<?php
$test = 'cookie' ;
$username = isset($test) ? $test : 'nobody';
echo $username;
//5.3版本以后
$test = 'cookie';
$username = $test ?:'nobody';
echo $username;
?>
实际上这个例子就是在问是否给test变量赋值,如果有,则返回$test,否则返回nobody;
组合比较符(PHP7+)
语法格式如下:$c = $a <=> $b;
解析:
如果$a > $b ,则 $c = 1;
如果$a = $b ,则 $c = 0;
如果$a < $b ,则 $c = -1;
运算符优先级
1
2
3
4
5
6
7
8
9
10
11<?php
// 优先级: && > = > and
// 优先级: || > = > or
$a = 3;
$b = false;
$c = $a or $b;
var_dump($c); // 这里的 $c 为 int 值3,而不是 boolean 值 true
$d = $a || $b;
var_dump($d); //这里的 $d 就是 boolean 值 true
?>