PHP为什么用引用-LMLPHP

PHP为什么用引用

什么是引用?

在 PHP 中引用意味着用不同的名字访问同一个变量内容。这并不像 C 的指针,替代的是,引用是符号表别名。注意在 PHP 中,变量名和变量内容是不一样的,因此同样的内容可以有不同的名字。最接近的比喻是 Unix 的文件名和文件本身——变量名是目录条目,而变量内容则是文件本身。引用可以被看作是 Unix 文件系统中的 hardlink。

1.变量的引用

<?
    a="ABC";a="ABC";b =&a;echoa;echoa;//这里输出:ABC
    echo b;//这里输出:ABCb;//这里输出:ABCb="EFG";
    echo a;//这里a;//这里a的值变为EFG 所以输出EFG
    echo $b;//这里输出EFG
?>
登录后复制

2.函数的引用传递

<?php
    function test(&a)$a=$a+100;a)$a=$a+100;b=1;
    echo b;//输出1test(b;//输出1test(b);   //这里b传递给函数的其实是b传递给函数的其实是b的变量内容所处的内存地址,通过在函数里改变a的值 就可以改变a的值 就可以改变b的值了
    echo "<br>";
    echo $b;//输出101
?>
登录后复制

3.函数的引用返回

<?php
function &test()
{
    static b=0;//申明一个静态变量b=0;//申明一个静态变量b=b+1;echob+1;echob;
    return b; }b; }a=test();//这条语句会输出 b的值 为1b的值 为1a=5;
a=test();//这条语句会输出a=test();//这条语句会输出b的值 为2

a=&test();//这条语句会输出a=&test();//这条语句会输出b的值 为3
a=5;a=5;a=test();//这条语句会输出 $b的值 为6
?>
登录后复制

4.对象的引用

<?php
    class a{
        var abc="ABC";     }abc="ABC";     }b=new a;
    c=c=b;
    echo b−>abc;//这里输出ABCechob−>abc;//这里输出ABCechoc->abc;//这里输出ABC
    b−>abc="DEF";echob−>abc="DEF";echoc->abc;//这里输出DEF
?>
登录后复制

5.引用的作用

如果程序比较大,引用同一个对象的变量比较多,并且希望用完该对象后手工清除它,建议用 "&" 方式,然后用$var=null的方式清除. 其它时候使用php5的默认方式. 另外, php5中对于大数组的传递,建议用 "&" 方式, 能够节省内存空间使用。

更多PHP相关知识,请访问Work网

以上就是PHP为什么用引用的详细内容,更多请关注Work网其它相关文章!

09-12 23:15