美文网首页
PHP引用变量(面试题1)

PHP引用变量(面试题1)

作者: boystark | 来源:发表于2017-09-26 11:21 被阅读100次

    什么是引用变量?

    用不同的名字访问同一个变量的内容。
    $a =&$b;($a 和 $b永远指向同一个地址。unset只会取消引用,不会销毁空间。对象本身就是引用传递。)

    <?php
    //写出程序的输出结果
    $data = ['a','b','c'];
    foreach($data as $k=>$v)
    {
        $v = &$data[$k];
    }
    

    //$k = 0;$v='a'; $v = &$data[0];
    第一次$v引用赋值$data[0];第一次循环结束$data值不变 ['a','b','c'];
    //$k = 0;$v='b';
    第二次$v的值变为了‘b’,而$data[0]与$v相互引用,故$data[0]= 'b';
    $v = &$data[1];
    这个时候$v是$data[1]引用,$v不再是$data[0]的引用 故$data的值为 ['b','b','c'];
    //$k = 0;$v='c'; 此次 $data[1]变为c,
    $v = &$data[2];$data[2]的值不变,故$data的值为['b','c','c'];
    程序结束时unset($v)并不会影响别的引用!


    相关文章

      网友评论

          本文标题:PHP引用变量(面试题1)

          本文链接:https://www.haomeiwen.com/subject/qfzjextx.html