Skip to content

运算符与表达式

运算符用于对值进行运算。PHP 提供了丰富的运算符类型。

算术运算符

php
<?php
$a = 10;
$b = 3;

echo $a + $b;  // 13 (加法)
echo $a - $b;  // 7  (减法)
echo $a * $b;  // 30 (乘法)
echo $a / $b;  // 3.333... (除法)
echo $a % $b;  // 1  (取模)
echo $a ** $b; // 1000 (幂运算)
?>

赋值运算符

php
<?php
$x = 10;        // 基本赋值
$x += 5;        // $x = $x + 5
$x -= 3;        // $x = $x - 3
$x *= 2;        // $x = $x * 2
$x /= 2;        // $x = $x / 2
$x %= 3;        // $x = $x % 3
?>

比较运算符

php
<?php
$a = 10;
$b = 5;

$a == $b;   // false (相等)
$a === $b;  // false (全等,值和类型都相同)
$a != $b;   // true  (不等)
$a <> $b;   // true  (不等,另一种写法)
$a !== $b;  // true  (不全等)
$a < $b;    // false (小于)
$a > $b;    // true  (大于)
$a <= $b;   // false (小于等于)
$a >= $b;   // true  (大于等于)
?>

逻辑运算符

php
<?php
$a = true;
$b = false;

$a && $b;   // false (逻辑与)
$a || $b;   // true  (逻辑或)
!$a;        // false (逻辑非)
$a and $b;  // false (逻辑与,优先级较低)
$a or $b;   // true  (逻辑或,优先级较低)
$a xor $b;  // true  (逻辑异或)
?>

递增/递减运算符

php
<?php
$x = 5;

++$x;  // 前置递增,$x 变为 6
$x++;  // 后置递增,$x 变为 7
--$x;  // 前置递减,$x 变为 6
$x--;  // 后置递减,$x 变为 5
?>

字符串运算符

php
<?php
$str1 = "Hello";
$str2 = "World";

$result = $str1 . " " . $str2;  // "Hello World"
$str1 .= " PHP";                 // $str1 = "Hello PHP"
?>

数组运算符

php
<?php
$a = [1, 2, 3];
$b = [4, 5, 6];

$a + $b;        // 合并数组(保留键)
$a == $b;       // 比较数组(键值对相同)
$a === $b;      // 比较数组(键值对和顺序都相同)
$a != $b;       // 数组不等
$a <> $b;       // 数组不等
$a !== $b;      // 数组不全等
?>

三元运算符

php
<?php
$age = 20;
$status = ($age >= 18) ? "成年人" : "未成年人";
echo $status;  // "成年人"
?>

Null 合并运算符 (??)

PHP 7.0+ 引入:

php
<?php
$name = $_GET['name'] ?? 'Guest';
// 如果 $_GET['name'] 存在且不为 null,使用它,否则使用 'Guest'
?>

运算符优先级

运算符按优先级顺序执行,可以使用括号改变优先级:

php
<?php
$result = 2 + 3 * 4;      // 14 (先乘后加)
$result = (2 + 3) * 4;    // 20 (先加后乘)
?>

表达式

表达式是任何有值的代码:

php
<?php
5;                    // 字面量表达式
$name;                // 变量表达式
$age + 1;             // 算术表达式
$name . " Doe";       // 字符串表达式
($age >= 18) ? "成年" : "未成年";  // 条件表达式
?>

下一步

学习控制结构 → 控制结构

基于 VitePress 构建