一般情况下,PHP 会将参数的值传递给函数,这说明函数不能改变参数表中的任何变量的值。
我们来看下面的例子:
function one($parameter) {
$parameter++;
}
$a = 10;
one($a);
echo “a=$a”;
我们发现上述结果显示为a=10;
设计要改变其参数的函数并不是一个好主意。为什么呢?这主要是从后期维护来说的,如果模块之间的修改是相互隔离的,那发生的错误的几率就会降低。
当函数必须要修改其参数时,那么参数需要通过引用的方式传递给函数。在函数中使用变量引用作为参数,提供的是存放变量的内存地址。我们修改一下上面的函 数:
function one(&$parameter) {
$parameter++;
}
$a = 10;
one($a);
echo “a=$a”;
这是结果输出为a=11,表明函数one()改变了变量$a值。
提示:
最基本的知识,熟练就得!笔试中经常遇到!
原文地址:http://www.ityouku.com/blog/index.php/archives/403