3.4 php变量的引用

变量的引用

&可以把变量的地址取出,但是不能echo出地址值

<?php
    $a = 10;
    $b = &$a;
    echo &$a;   //网页显示错误
?>
变量的引用内存图:

变量的引用需要注意的几项

只有变量才能引用,也就是说变量才有内存地址。

<?php
    $a = 10;
    $b = &$a;
    echo &$a;   //网页显示错误
    echo &10;   //网页显示错误,只有变量才能引用
?>

引用关系一旦达成,一个变量值改变,另一个也随之改变 。

<?php
    $a = 10;
    $b = &$a;
    $a = 100;
    echo $b;    //输出结果为100,$a改变了$b也随之改变
?>

unset一个变量时,只是清除一个函数,引用关系也解除了,但另一个变量还存在。

<?php
    $a = 10;
    $b = &$a;
    unset($a);   //清除变量#a,$b还在
    if (isset($b)) {
        echo "这个变量存在";
    } else {
        echo "这个变量不存在";
    }
?>

如果两个变量有引用关系,给其中一个变量赋值,不是普通值,而是一个新的引用关系,则解除原来的引用关系,产生新的引用关系。

<?php
    $a = 10;
    $b = &$a;
    $c = 100;
    $b = &$c;    //产生新的引用关系,原来的关系解除,所以  $B $c都是100
    echo $a;
    echo "<br />";
    echo $b;
    echo "<br />";
    echo $c;
?>
//输出结果:10、100、100
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容