PHP 基础教程
PHP 高级教程
PHP & MySQL DATABASE
PHP 示例
PHP 参考手册

PHP 运算符

在本教程中,您将学习如何使用 PHP 中的运算符对变量和值进行操作或执行操作。

什么是 PHP 中的运算符

运算符是告诉 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); // 0utputs: 14
echo($x - $y); // 0utputs: 6
echo($x * $y); // 0utputs: 40
echo($x / $y); // 0utputs: 2.5
echo($x % $y); // 0utputs: 2
?>

PHP 赋值运算符

赋值运算符用于为变量赋值。

运算符 说明 示例 等同于
= Assign $x = $y $x = $y
+= Add and assign $x += $y $x = $x + $y
-= Subtract and assign $x -= $y $x = $x - $y
*= Multiply and assign $x *= $y $x = $x * $y
/= Divide and assign quotient $x /= $y $x = $x / $y
%= Divide and assign modulus $x %= $y $x = $x % $y

以下示例将向您展示这些赋值运算符的实际作用:

<?php
$x = 10;
echo $x; // Outputs: 10
 
$x = 20;
$x += 30;
echo $x; // Outputs: 50
 
$x = 50;
$x -= 20;
echo $x; // Outputs: 30
 
$x = 5;
$x *= 25;
echo $x; // Outputs: 125
 
$x = 50;
$x /= 10;
echo $x; // Outputs: 5
 
$x = 100;
$x %= 15;
echo $x; // Outputs: 10
?>

PHP 比较运算符

比较运算符用于以布尔方式比较两个值。

运算符 名称 示例 结果
== 等于 $x == $y 如果 $x 等于 $y 则为真
=== 相同 $x === $y 如果 $x 等于 $y 并且它们属于同一类型,则为 true
!= 不等于 $x != $y 如果 $x 不等于 $y 则为真
<> 不等于 $x <> $y 如果 $x 不等于 $y 则为真
!== 不相同 $x !== $y 如果 $x 不相同于 $y,或者它们不是同一类型,则为真
< 小于 $x < $y 如果 $x 小于 $y 则为真
> 大于 $x > $y 如果 $x 大于 $y 则为真
>= 大于或等于 $x >= $y 如果 $x 大于或等于 $y 则为真
<= 小于或等于 $x <= $y 如果 $x 小于或等于 $y,则为真

以下示例将向您展示这些比较运算符的实际作用:

<?php
$x = 25;
$y = 35;
$z = "25";
var_dump($x == $z);  // Outputs: boolean true
var_dump($x === $z); // Outputs: boolean false
var_dump($x != $y);  // Outputs: boolean true
var_dump($x !== $z); // Outputs: boolean true
var_dump($x < $y);   // Outputs: boolean true
var_dump($x > $y);   // Outputs: boolean false
var_dump($x <= $y);  // Outputs: boolean true
var_dump($x >= $y);  // Outputs: boolean false
?>

PHP 递增和递减运算符

递增/递减运算符用于递增/递减变量的值。

运算符 名称 效果
++$x 递增 将 $x 加一,然后返回 $x
$x++ 后增量 返回 $x,然后将 $x 加一
--$x 递减 将 $x 减一,然后返回 $x
$x-- 后递减 返回 $x,然后将 $x 减一

以下示例将向您展示这些递增和递减运算符的实际操作:

<?php
$x = 10;
echo ++$x; // Outputs: 11
echo $x;   // Outputs: 11
 
$x = 10;
echo $x++; // Outputs: 10
echo $x;   // Outputs: 11
 
$x = 10;
echo --$x; // Outputs: 9
echo $x;   // Outputs: 9
 
$x = 10;
echo $x--; // Outputs: 10
echo $x;   // Outputs: 9
?>

PHP 逻辑运算符

逻辑运算符通常用于组合条件语句。

运算符 名称 示例 结果
and And $x and $y 如果 $x 和 $y 都为真,则为真
or Or $x or $y 如果 $x 或 $y 为真,则为真
xor Xor $x xor $y 如果 $x 或 $y 为真,但不是两者都为真,则为真
&& And $x && $y 如果 $x 和 $y 都为真,则为真
|| Or $x || $y 如果 $x 或 $y 为真,则为真
! Not !$x 如果 $x 不为真则为真

以下示例将向您展示这些逻辑运算符的实际作用:

<?php
$year = 2014;
// 闰年可以被 400 或 4 整除,但不能被 100 整除
if(($year % 400 == 0) || (($year % 100 != 0) && ($year % 4 == 0))){
    echo "$year is a leap year.";
} else{
    echo "$year is not a leap year.";
}
?>

PHP 字符串运算符

有两个专门为字符串设计的运算符。

运算符 说明 示例 结果
. Concatenation $str1 . $str2 $str1 和 $str2 的串联
.= Concatenation assignment $str1 .= $str2 将 $str2 附加到 $str1

以下示例将向您展示这些字符串运算符的实际应用:

<?php
$x = "Hello";
$y = " World!";
echo $x . $y; // Outputs: Hello World!
 
$x .= $y;
echo $x; // Outputs: Hello World!
?>

PHP 数组运算符

数组运算符用于比较数组:

运算符 名称 示例 结果
+ Union $x + $y $x 和 $y 的并集
== Equality $x == $y 如果 $x 和 $y 具有相同的键/值对,则为真
=== Identity $x === $y 如果 $x 和 $y 具有相同顺序和相同类型的相同键/值对,则为真
!= Inequality $x != $y 如果 $x 不等于 $y 则为真
<> Inequality $x <> $y 如果 $x 不等于 $y 则为真
!== Non-identity $x !== $y 如果 $x 与 $y 不同,则为真

以下示例将向您展示这些数组运算符的实际作用:

<?php
$x = array("a" => "Red", "b" => "Green", "c" => "Blue");
$y = array("u" => "Yellow", "v" => "Orange", "w" => "Pink");
$z = $x + $y; // Union of $x and $y
var_dump($z);
var_dump($x == $y);   // Outputs: boolean false
var_dump($x === $y);  // Outputs: boolean false
var_dump($x != $y);   // Outputs: boolean true
var_dump($x <> $y);   // Outputs: boolean true
var_dump($x !== $y);  // Outputs: boolean true
?>

PHP Spaceship 运算符 PHP 7

PHP 7 引入了一个新的 spaceship 运算符 (<=>),可用于比较两个表达式。 它也被称为组合比较运算符。

如果两个操作数相等,则 spaceship 运算符返回 0,如果左侧更大,则返回 1,如果右侧更大,则返回 -1。 它基本上提供了如下表所示的三路比较:

运算符 <=> Equivalent
$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

以下示例将向您展示 spaceship 运算符的实际工作原理:

<?php
// Comparing Integers 
echo 1 <=> 1; // Outputs: 0
echo 1 <=> 2; // Outputs: -1
echo 2 <=> 1; // Outputs: 1
 
// Comparing Floats
echo 1.5 <=> 1.5; // Outputs: 0
echo 1.5 <=> 2.5; // Outputs: -1
echo 2.5 <=> 1.5; // Outputs: 1
 
// Comparing Strings
echo "x" <=> "x"; // Outputs: 0
echo "x" <=> "y"; // Outputs: -1
echo "y" <=> "x"; // Outputs: 1
?>
Advertisements