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) . "<br>"; // 输出: 14
echo($x - $y) . "<br>"; // 输出: 6
echo($x * $y) . "<br>"; // 输出: 40
echo($x / $y) . "<br>"; // 输出: 2.5
echo($x % $y) . "<br>"; // 输出: 2
?>
测试看看‹/›

PHP 赋值运算符

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

运算符描述在线示例等同于
=赋值
$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
?>
测试看看‹/›

PHP 递增/递减运算符

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

运算符名称描述
++$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
?>
测试看看‹/›

PHP 逻辑运算符

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

运算符名称在线示例结果
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 不是闰年。";
}
?>
测试看看‹/›

PHP 字符串运算符

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

运算符描述在线示例结果
.级联$str1 . $str2$str1和$str2的串联
.=串联分配$str1 .= $str2将$str2追加到$str1

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

<?php
$x = "Hello";
$y = " World!";
echo $x . $y; // 输出: Hello World!
 
$x .= $y;
echo $x; // 输出: Hello World!
?>
测试看看‹/›

PHP 数组运算符

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

运算符名称在线示例结果
+集合$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 太空船运算符PHP 7

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
?>
测试看看‹/›