美文网首页
2.1引用变量考点

2.1引用变量考点

作者: followyounger1 | 来源:发表于2017-09-01 10:37 被阅读52次

    全方位剖析

    回顾真题
    考点分析
    一网打尽

    什么是引用变量?在PHP当中,用什么符号定义引用变量?
    思考
    考官考点

    PHP的引用变量的概念及定义方式
    延伸:PHP引用变量的原理

    概念
    在PHP中引用意味着用不同名字访问同一个变量内容。

    定义方式
    使用&符号

    PHP引用变量的工作原理

    工作原理

    变量的存储方式
    $a = range(0,1000);
    var_dump(memery_get_usage());

    就指向内存空间;

    $b = $a;

    //对a进行写操作
    $a = range(0,1000);

    $b = &$a; 会始终指向同一个区域。

    zval变量容器

    $a = range(0,3);

    xdebug_debug-zval('a');

    Paste_Image.png

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

    $a = 1;
    $b = &$a;
    unset($b);
    echo $a;

    Paste_Image.png

    <?php

    class Person{
    public $name = 'zhangjun';
    }

    $p1 = new Person;

    xdebug_debug_zval('p1');

    $p2 = $p1;
    xdebug_debug_zval('p2');
    $p2->name = "list";
    xdebug_debug_zval('p2');

    类本身是引用传递

    copy on write

    //对a进行修改,才会重写分配空间。

    Paste_Image.png Paste_Image.png

    会循环四次
    结果bbc

    【a,b,c】
    [b,b,c]
    [b,c,c]
    [b,c,c]

    发现第二个里面 b的值,会变为c



    Paste_Image.png

    相关文章

      网友评论

          本文标题:2.1引用变量考点

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