本章节我们将谈论 PHP 中不同运算符的运用。

在 PHP 中,赋值运算符 = 用于给变量赋值。

在 PHP 中,算术运算符 + 用于把值加在一起。

php入门到精通口诀PHP法式员从入门到佛系第十弹PHP 运算符 AJAX

PHP 算术运算符

以下实例演示了利用不同算术运算符得到的不同结果:

<?php

$x=10;

$y=6;

echo ($x + $y); // 输出16

echo '<br>'; // 换行

echo ($x - $y); // 输出4

echo '<br>'; // 换行

echo ($x $y); // 输出60

echo '<br>'; // 换行

echo ($x / $y); // 输出1.6666666666667

echo '<br>'; // 换行

echo ($x % $y); // 输出4

echo '<br>'; // 换行

echo -$x;

?>

PHP 赋值运算符

在 PHP 中,基本的赋值运算符是 \公众=\"大众
它意味着左操作数被设置为右侧表达式的值。
也便是说,\"大众$x = 5\"大众 的值是 5。

以下实例演示了利用不同赋值运算符得到的不同结果:

<?php

$x=10;

echo $x; // 输出10

$y=20;

$y += 100;

echo $y; // 输出120

$z=50;

$z -= 25;

echo $z; // 输出25

$i=5;

$i = 6;

echo $i; // 输出30

$j=10;

$j /= 5;

echo $j; // 输出2

$k=15;

$k %= 4;

echo $k; // 输出3

?>

以下实例演示了利用不同字符串运算符得到的相同结果:

PHP 递增/递减运算符

以下实例演示了利用递增/递减运算符得到的结果:

PHP 比较运算符

比较操作符可以让您比较两个值:

以下实例演示了利用一些比较运算符得到的不同结果:

PHP 逻辑运算符

PHP 数组运算符

以下实例演示了利用一些数组运算符得到的不同结果:

三元运算符

另一个条件运算符是\公众?:\"大众(或三元)运算符 。

语法格式

(expr1) ? (expr2) : (expr3)

对 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。

自 PHP 5.3 起,可以省略三元运算符中间那部分。
表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。

实例

以下实例中通过判断 $_GET 要求中含有 user 值,如果有返回 $_GET['user'],否则返回 nobody:

把稳:PHP_EOL 是一个换行符,兼容更大平台。

在 PHP7+ 版本多了一个 NULL 合并运算符 ??,实例如下:

组合比较符(PHP7+)

PHP7+ 支持组合比较符,实例如下:

运算符优先级

下表按照优先级从高到低列出了运算符。
同一行中的运算符具有相同优先级,此时它们的结合方向决定求值顺序。

解释:左 = 从左到右,右 = 从右到左。

运算符优先级中,or 和 ||,&& 和 and 都是逻辑运算符,效果一样,但是其优先级却不一样。

以上实例输出结果为:

int(3)bool(true)

括号的利用

我们通过括号的配对来明确标明运算顺序,而非靠运算符优先级和结合性来决定,常日能够增加代码的可读性。

以上实例输出结果为:

79

条记:

一个等号 = 用于赋值,如:

$a = 5;

两个等号 == 用于比较,值相等,类型不一定相等,如:

5==5 // 返回 true5==\公众5\公众 // 返回 true

三个等号 === 用于绝比拟较,即类型与值都要相等,如:

5===5 // 返回 true5===\公众5\"大众 // 返回 false

组合比较运算符别号太空船运算符,组合比较运算符可以轻松实现两个变量的比较,当然不仅限于数值类数据的比较。

语法是这样的:

$c = $a <=> $b;

这句代码的意思是:

如果 $a > $b, $c 的值为 1 如果 $a == $b, $c 的值为 0 如果 $a < $b, $c 的值为-1

运算符的优先级口诀:括(号)、单(操作数)、算(术)、移(位)、关(系);位(运算符)、逻(辑)、条(件)、赋(值)、逗(号)。

<=> 太空船操作符,又称组合比较运算符,结合比较运算符。

组合比较运算符,英文叫作 combined comparison operator,符号为 <=>,它有一个形象的名字,叫作太空船操作符。
组合比较运算符可以轻松实现两个变量的比较,当然不仅限于数值类数据的比较。

语法是这样的:

$c = $a <=> $b;

这句代码的意思是

如果$a > $b, $c 的值为1如果$a == $b, $c 的值为0如果$a < $b, $c 的值为-1

在没有太空船运算符的时候,我们只能这样写代码

$c = $a > $b ? 1 : ( $a==$b ? 0 : -1 );