一般情况下,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