函数参数默认按值传递,无法修改原始变量。按引用传递参数时,需在参数前加 &,使函数能修改原始变量。如:function somefunction(&$param) {...},将参数按引用传递给函数,修改 $param 会影响原始变量。
PHP 函数中按引用传递参数
在 PHP 中,默认情况下,所有函数参数都是按值传递的。这意味着传递给函数的变量的副本用于函数计算,对原始变量没有影响。然而,有时候需要函数能够修改原始变量,这时就需要按引用传递参数。
按引用传递参数的语法
立即学习“PHP免费学习笔记(深入)”;
点击下载“修复打印机驱动工具”;
要按引用传递参数,需要在参数前使用 & 符号,如下所示:
function someFunction(&$param) {
// 修改 $param 会影响原始变量
}
实战案例
以下是一个按引用传递参数的实际案例:
<?php
// 定义一个函数,按引用传递参数
function swapValues(&$a, &$b) {
$temp = $a;
$a = $b;
$b = $temp;
}
// 初始化两个变量
$a = 5;
$b = 10;
// 交换变量的值
swapValues($a, $b);
// 打印交换后的值
echo "a: $a, b: $b"; // 输出:a: 10, b: 5
?>
在上面的示例中,swapValues 函数按引用传递两个参数,这意味着函数可以修改原始变量的值。当调用 swapValues 函数时,变量 a 和 b 的副本被传递给函数。函数中,变量的副本被交换,并更新原始变量的值。因此,在打印 a 和 b 时,会输出交换后的值。
值得注意的是,按引用传递参数会降低程序的可读性和可维护性。因此,只有在确实需要函数修改原始变量时才应使用按引用传递参数。