php运算符

PHP算术运算符

1

这里强调一下:
PHP7+ 版本新增整除运算符 intdiv()

1
2
3
<?php
var_dump(intdiv(10,3));
?>

返回3;

PHP赋值运算符

2

PHP递增/递减运算符

3

PHP数组运算符

4

这里强调关于’==’和’===’的差别

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;

运算符优先级

5

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
?>

6

0%