在 php 中,通过引用传递参数能够实现双向绑定,同时更新原始变量值。使用时机包括:避免复制大型数据结构。修改函数外部的变量。编写状态管理器。通过 & 符号实现,例如:function modify_by_reference(&$param) { $param++; }。

何时在 PHP 中通过引用传递参数?
在 PHP 中,通过引用传递参数可以实现变量的双向绑定,同时更新调用函数中的原始变量值。
何时使用?
立即学习“PHP免费学习笔记(深入)”;
通常在以下情况下适合使用通过引用传递参数:
基于Intranet/Internet 的Web下的办公自动化系统,采用了当今最先进的PHP技术,是综合大量用户的需求,经过充分的用户论证的基础上开发出来的,独特的即时信息、短信、电子邮件系统、完善的工作流、数据库安全备份等功能使得信息在企业内部传递效率极大提高,信息传递过程中耗费降到最低。办公人员得以从繁杂的日常办公事务处理中解放出来,参与更多的富于思考性和创造性的工作。系统力求突出体系结构简明
- 避免复制大型数据结构:传递大型数组或对象作为值时会进行复制,导致性能开销。通过引用传递可以避免这种情况。
- 修改函数外部的变量:当函数需要修改函数外部声明的变量值时,可以将其作为引用传递。
- 编写状态管理器:使用通过引用传递的参数可以方便地存储和共享状态。
如何实现?
要在 PHP 中通过引用传递参数,需要使用 & 符号:
function modify_by_reference(&$param) {
$param++;
}实战案例:
示例 1:避免复制大型数组
function sum_array(array &$array) {
$sum = 0;
foreach ($array as $value) {
$sum += $value;
}
return $sum;
}
$array = range(1, 10000);
$result = sum_array($array);示例 2:修改函数外部的变量
function add_to_counter(&$counter) {
$counter++;
}
$counter = 0;
add_to_counter($counter); // $counter 现在变为 1










