美文网首页PHP基础知识点梳理
三: PHP引用变量考察点下

三: PHP引用变量考察点下

作者: White夏天baby | 来源:发表于2020-09-28 10:11 被阅读0次

    unset 只会取消引用,不会销毁空间

    $a = 1;

    $b = &$a;

    unset($b);

    echo $a."\n";

    对象本身不会进行空间复制,若要空间复制,就使用clone,克隆对象

    小伙伴可以自己试着解题

    题目:

    解题思路,把循环拆开来

    $data = ['a','b','c'];

    foreach ($data as $key => $val){

        $val = &$data[$key];

    }

    $data = ['a','b','c'];

    //第一次循环

    $key = 0;  $val = 'a';

    $val = &$data[0] = 'a';

    //循环结束

    $data = ['a','b','c'];

    //第二次循环

    $key = 1;  $val = 'b';

    //因为 $val = &$data[0],所以$data[0] = b,$data = ['b','b','c']

    $val = &$data[1] = 'b'

    //第二次循环结束

    $data = ['b','b','c'];

    //第三次循环

    $key = 2;  $val = 'c';

    //因为 $val = &$data[1],所以$data[1] = c,$data = ['b','c','c']

    $val = &$data[2] = 'c'

    //第三次循环结束

    $data = ['b','c','c'];

    最终  $data = ['b','c','c'];

    空间图

    验证结果

    相关文章

      网友评论

        本文标题:三: PHP引用变量考察点下

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