注册 登录

5.4.2 PHP引用参数的函数

引用参数的函数

引用参数的函数格式说明:
void funName(array &args)
相对于按值传递模式,并不会将父程序中的指定数值或目标变量传递给函数,而是把该数值或变量的内存储存区块相对地址导入函数之中。因此当该数值在函数中有任何变动时,会连带对父程序造成影响。
注意:如果在函数的形参中使用“&“修饰的参数,在调用该函数时必须传入一个变量给这个参数,而是不能传递一个值。

<?php    //使用常规参数传值     function test($arg) {                  $arg = 200;  //在函数中改变参数$a的值为200     }     $var = 100;      //在父程序中声明一个全局变量$var,初值为100     test($var);        //调用test函数,并将变量$var的值100传给函数的参数$arg     echo $var;       //输出100。$var的值没有变化     //使用“&”引用参数传值    function test( &$arg ) {                 $arg = 200;   //改变参数$a的值为200,$arg是引用参数,外部变量$var也被修改     }     $var = 100;       //在父程序中声明一个全局变量$var,初值为100     test($var);         //调用test函数,并将变量$var的引用传给函数的参数$arg     echo $var;        //输出200。$var的值在函数中修改变量$arg时被修改 

例test.php

<?php /*  *   $a = 10;  *  *   $b = &$a;  *  *   $a = 400;  *   $b = 800;  *  *   1. 只有在内存中的变量, 才有地址  *   2. 有引用关系的两个变量, 一个变, 另一个就变, 相当于两个是一个  *  *  *   如果在函数说明中, 有&出现, 说明这个参数是一个引用参数, 你调用时传参数时, 就必须传一个变量  *  */     $a= 20;     function demo(&$a) {         $a = 100;     }     echo $a."<br>";     demo($a);     echo $a."<br>"; 

始发于简书:caoyuan

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注