在本教程中,您将学习如何使用PHP中的运算符对变量和值进行操作或执行操作。
运算符是告诉PHP处理器执行某些操作的符号。例如,加号(+)符号是告诉PHP将两个变量或值相加的运算符,而大于号(>)符号是告诉PHP比较两个值的运算符。
以下列表描述了PHP中使用的不同运算符。
算术运算符用于执行常见的算术运算,例如加,减,乘等。这是PHP算术运算符的完整列表:
运算符 | 描述 | 在线示例 | 结果 |
---|---|---|---|
+ | 加法 | $x + $y | $x和$y的总和 |
- | 减法 | $x - $y | $x和$y之差 |
* | 乘法 | $x * $y | $x和$y的乘积 |
/ | 除法 | $x / $y | $x和$y的商 |
% | 求模 | $x % $y | $x除以$y的余数 |
以下示例将向您展示这些算术运算符的作用:
<?php $x = 10; $y = 4; echo($x + $y) . "<br>"; // 输出: 14 echo($x - $y) . "<br>"; // 输出: 6 echo($x * $y) . "<br>"; // 输出: 40 echo($x / $y) . "<br>"; // 输出: 2.5 echo($x % $y) . "<br>"; // 输出: 2 ?>测试看看
赋值运算符用于为变量赋值。
运算符 | 描述 | 在线示例 | 等同于 |
---|---|---|---|
= | 赋值 | $x = $y | $x = $y |
+= | 相 | $x += $y | $x = $x + $y |
-= | 减 | $x -= $y | $x = $x - $y |
*= | 乘 | $x *= $y | $x = $x * $y |
/= | 除 | $x /= $y | $x = $x / $y |
%= | 模(除法的余数) | $x %= $y | $x = $x % $y |
.= | 连接字符串 | $x .= $y | $x = $x.$y |
以下示例将向您展示这些赋值运算符的作用:
<?php $x = 25; $y = 35; $z = "25"; var_dump($x == $z) . "<br>"; // 输出: 布尔值 true var_dump($x === $z) . "<br>"; // 输出: 布尔值 false var_dump($x != $y) . "<br>"; // 输出: 布尔值 true var_dump($x !== $z) . "<br>"; // 输出: 布尔值 true var_dump($x < $y) . "<br>"; // 输出: 布尔值 true var_dump($x > $y) . "<br>"; // 输出: 布尔值 false var_dump($x <= $y) . "<br>"; // 输出: 布尔值 true var_dump($x >= $y) . "<br>"; // 输出: 布尔值 false ?>测试看看
递增/递减运算符用于递增/递减变量的值。
运算符 | 名称 | 描述 |
---|---|---|
++$x | 预增量 | 将$x加1,然后返回$x |
$x++ | 后增量 | 返回$x,然后将$x加1 |
--$x | 递减 | 将$x减一,然后返回$x |
$x-- | 递减后 | 返回$x,然后将$x减1 |
下面的示例将向您展示这些递增和递减运算符的作用:
<?php $x = 10; echo ++$x ; // 输出: 11 echo $x; // 输出: 11 $x = 10; echo $x++; // 输出: 10 echo $x; // 输出: 11 $x = 10; echo --$x; // 输出: 9 echo $x; // 输出: 9 $x = 10; echo $x--; // 输出: 10 echo $x; // 输出: 9 ?>测试看看
逻辑运算符通常用于组合条件语句。
运算符 | 名称 | 在线示例 | 结果 |
---|---|---|---|
and | 与 | $x and $y | 如果$x和$y都为true,则为true |
or | 或 | $x or $y | 如果$x或$y为true,则为true |
xor | 异或 | $x xor $y | 如果$x或$y为true,则为True,但不能同时为true |
&& | 与 | $x && $y | 如果$x和$y都为true,则为true |
|| | 或 | $x || $y | 如果$$x或$y为true,则为true |
! | 非 | !$x | 如果$x不为true,则为true |
以下示例将向您展示这些逻辑运算符的作用:
<?php $year = 2014; //闰年可以被400整除,也可以被4整除,但不能被100整除。 if(($year % 400 == 0) || (($year % 100 != 0) && ($year % 4 == 0))){ echo "$year 是闰年。"; } else{ echo "$year 不是闰年。"; } ?>测试看看
有两个专门为字符串设计的运算符。
运算符 | 描述 | 在线示例 | 结果 |
---|---|---|---|
. | 级联 | $str1 . $str2 | $str1和$str2的串联 |
.= | 串联分配 | $str1 .= $str2 | 将$str2追加到$str1 |
以下示例将向您展示这些字符串运算符的作用:
<?php $x = "Hello"; $y = " World!"; echo $x . $y; // 输出: Hello World! $x .= $y; echo $x; // 输出: Hello World! ?>测试看看
数组运算符用于比较数组:
运算符 | 名称 | 在线示例 | 结果 |
---|---|---|---|
+ | 集合 | $x + $y | $x和$y的并集 |
== | 相等 | $x == $y | 如果$x和$y具有相同的键/值对,则为true |
=== | 全等 | $x === $y | 如果$x和$y具有相同顺序和相同类型的相同键/值对,则为true |
!= | 不相等 | $x != $y | 如果$x不等于$y,则为true |
<> | 不相等 | $x <> $y | 如果$x不等于$y,则为true |
!== | 不全等 | $x !== $y | 如果$x与$y不相同则为true |
下面的示例将向您展示这些数组运算符的作用:
<?php $x = array("a" => "Red", "b" => "Green", "c" => "Blue"); $y = array("u" => "Yellow", "v" => "Orange", "w" => "Pink"); $z = $x + $y; //$x 和 $y 的串联 var_dump($z); var_dump($x == $y); // 输出: 布尔值 false var_dump($x === $y); // 输出: 布尔值 false var_dump($x != $y); // 输出: 布尔值 true var_dump($x <> $y); // 输出: 布尔值 true var_dump($x !== $y); // 输出: 布尔值 true ?>测试看看
PHP 7引入了一个新的太空船运算符(<=>),可用于比较两个表达式。也称为组合比较运算符。
如果两个操作数相等,则宇宙船操作符返回0,如果左侧大于1,则返回1,如果右侧大于1,则返回-1。 基本提供三向对比,如下表所示:
运算符 | <=> 相当于 |
---|---|
$x < $y | ($x <=> $y) === -1 |
$x <= $y | ($x <=> $y) === -1 || ($x <=> $y) === 0 |
$x == $y | ($x <=> $y) === 0 |
$x != $y | ($x <=> $y) !== 0 |
$x >= $y | ($x <=> $y) === 1 || ($x <=> $y) === 0 |
$x > $y | ($x <=> $y) === 1 |
以下示例将向您展示太空船运算符的实际工作方式:
<?php // 比较整数 echo 1 <=> 1; // 输出: 0 echo 1 <=> 2; // 输出: -1 echo 2 <=> 1; // 输出: 1 // 比较浮点数 echo 1.5 <=> 1.5; // 输出: 0 echo 1.5 <=> 2.5; // 输出: -1 echo 2.5 <=> 1.5; // 输出: 1 // 比较字符串 echo "x" <=> "x"; // 输出: 0 echo "x" <=> "y"; // 输出: -1 echo "y" <=> "x"; // 输出: 1 ?>测试看看