探讨PHP引用&符号

4次阅读

php 的引用符号我一般在写代码的时候基本不用,首先是不大了解它的用法,C 语言是用来取地址的,但是 PHP 里面可能有些不一样,据说是变量的拷贝,也就是重新复制一份相同的变量,比如     $a=&$b;
    那么变量 a 和变量 b 是完全相等的,完全等效于 $a=$b;所以有必要写成 $a=&$b 吗?这样还可能会多占用内存空间
    有的人喜欢这样写
    function &f($arg1,){
    //code body
    }
    我认为这样写没有什么实际的作用,一般是引用操作符写在函数的参数里面的:
    function f(&$x,&$y){
    // 这里是对 $x 和 $y 的操作,也就是赋值给 $x 和 $y,如果 $x 和 $y 都要在函数外部返回值的情况下;
    // 不需要用 return 语句
    }
    然后如果调用了函数 f 的话,那么在函数外部是可以直接得到计算后的 $x 和 $y 的值。
    $total=array();
    $total_data='';
    f(&$total,&$total_data);
    echo $total_data; // 这里输出 f 函数计算后 total_data 的值
    var_dump($total);// 这里输出 f 函数计算后 total 的值

正文完