PHP 赋值运算符

在编程语言中,赋值运算符用于将右侧操作数的值分配给左侧操作数。PHP 提供了多种类型的赋值运算符来执行不同类型的赋值操作。本文将详细介绍 PHP 中常见的赋值运算符,包括基本赋值、复合赋值和引用赋值等。

1. 基本赋值(=)

在 PHP 中,使用单个等号(=)进行基本赋值操作。例如:

$x = 10; // 将值 10 分配给变量 $x

2. 复合赋值运算符

复合赋值运算符结合了一个数学运算和赋值操作。它们可以使代码更简洁,并提高执行效率。下面是常见的复合赋值运算符:

  • +=: 加法赋值。将右侧操作数添加到左侧操作数,然后将结果分配给左侧操作数。例如:
$x = 5;
$x += 3; // $x 现在等于 8
  • -=: 减法赋值。从左侧操作数中减去右侧操作数,然后将结果分配给左侧操作数。例如:
$x = 10;
$x -= 4; // $x 现在等于 6
  • *=: 乘法赋值。将左侧操作数与右侧操作数相乘,然后将结果分配给左侧操作数。例如:
$x = 2;
$x *= 3; // $x 现在等于 6
  • /=: 除法赋值。将左侧操作数与右侧操作数相除,然后将结果分配给左侧操作数。例如:
$x = 10;
$x /= 2; // $x 现在等于 5
  • .=: 连接赋值。将右侧操作数的字符串附加到左侧操作数,然后将结果分配给左侧操作数。例如:
$str = "Hello";
$str .= ", World!"; // $str 现在等于 "Hello, World!"
  • %=: 取模赋值。计算左侧操作数与右侧操作数的余数,然后将结果分配给左侧操作数。例如:
$x = 10;
$x %= 3; // $x 现在等于 1

3. 引用赋值(&)

使用符号 &,可以将一个变量的引用分配给另一个变量。这意味着更改其中一个变量也会影响另一个变量。例如:

$x = 10;
$y = &$x; // $y 现在是 $x 的引用
$y = 20; // $x 现在等于 20,因为它们是同一个变量的引用

4. NULL 合并运算符(??)

PHP 7 引入了 NULL 合并运算符 ??。如果左侧操作数不存在或其值为 null,则返回右侧操作数的值。例如:

$username = $_GET['user'] ?? 'nobody';
// 如果 $_GET['user'] 存在且不为 null,则 $username 将等于该值;否则,$username 将等于 'nobody'

5. 运算符优先级

与任何其他编程语言一样,PHP 中的赋值运算符也遵循操作顺序。例如,表达式 $x = $y = 10; 将首先为变量 $y 分配值 10,然后将 $y 的值 10 分配给变量 $x

结论

本文介绍了 PHP 中常见的赋值运算符,包括基本赋值、复合赋值和引用赋值等。通过理解这些运算符以及它们之间的区别,您可以更好地编写高效且清晰的 PHP 代码。