在PHP中,传值和传引用是传递参数的两种方式。
当使用传值方式传递参数时,函数会创建一个参数的副本,然后将副本传递给函数。在函数内部,对参数的任何修改都不会影响到原始的变量。
例如:
function increment($num) {
$num++;
}
$number = 5;
increment($number);
echo $number; // 输出 5
在上面的例子中,虽然在函数内部对$num
进行了自增操作,但是这并不会影响到原始的$number
变量。
相反,当使用传引用方式传递参数时,函数会接收到原始变量的引用,可以直接修改原始的变量。
例如:
function increment(&$num) {
$num++;
}
$number = 5;
increment($number);
echo $number; // 输出 6
在上面的例子中,通过在参数前加上&
符号,将参数设置为引用传递。这样,在函数内部对$num
进行自增操作会直接影响到原始的$number
变量。
总结起来,传值方式传递参数时,函数会对参数进行复制,不会影响原始的变量。而传引用方式传递参数时,函数接收到的是原始变量的引用,可以直接修改原始的变量。