PHP如何区分引用参数和传值参数

来源:互联网 发布:java中遍历jsonarray 编辑:程序博客网 时间:2024/06/05 07:49

一般情况下,PHP 会将参数的值传递给函数,这说明函数不能改变参数表中的任何变量的值.
我们来看下面的例子:

function one($parameter) {
$parameter++;
}
$a = 10;
one($a);
echo “a=$a”;
我们发现上述结果显示为a=10;
设计要改变其参数的函数并不是一个好主意.为什么呢?这主要是从后期维护来说的,如果模块之间的修改是相互隔离的,那发生的错误的几率就会降低.
当函数必须要修改其参数时,那么参数需要通过引用的方式传递给Sexy Shoes函数.在函数中使用变量引用作为参数,提供的是存放变量的内存地址.我们修改一下上面的函数:

function one(&$parameter) {
$parameter++;
}
$a = 10;
one($a);
echo “a=$a”;
这是结果输出为a=11,表明函数one()改变了变量$a值.