变量的传值

讲解了 PHP 变量操作的核心概念:赋值传值(值传递)引用传值(引用传递)。这是理解 PHP 内存机制的关键。

一、 赋值传值(值传递)

  • 机制:将变量的值复制一份给新变量。两个变量在内存中独立存在,互不影响。
  • 代码示例
$age = 23;
$myAge = $age;  // 把 $age 的值(23)赋给 $myAge
$myAge = 25;    // 修改 $myAge,不影响 $age
echo $age, '-----', $myAge;Code language: PHP (php)
  • 输出结果23-----25
  • 解析:因为 $myAge 只是拷贝了 $age 的初始值,后续修改 $myAge 不会改变 $age

二、 引用传值(引用传递)

  • 机制:使用 & 符号,将变量的内存地址(指针)赋给新变量。两个变量指向同一块内存,一改全改。
  • 代码示例(图2):
$money = 100;
$salary = &$money; // 引用传值:$salary 和 $money 绑定同一地址
$salary = 500;     // 修改 $salary,等同于修改 $money
echo $salary, '-----', $money;Code language: PHP (php)
  • 输出结果500-----500
  • 解析$salary = &$money 让两者成为“别名”,任何一者的值改变,另一者同步变化。

三、 对比

特性赋值传值(默认)引用传值(加 &
内存关系各自独立共享同一内存地址
相互影响互不影响一改全改
符号==&
适用场景常规数据操作大数组/对象优化、强制同步

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注