php7.2中的zend_reference

  • zend_reference的定义

    struct _zend_reference {
      zend_refcounted_h gc;
      zval              val;
    };
  • zend_reference定义了一个gc和一个zval。

  • zend_reference在以下情况下会使用到:

<?php
$a = 'string';
$b = &$a;
  • 此时变量a和变量b均变成了zend_reference,zval中的type变成了10, 也就是定义的#define IS_REFERENCE 10,他们均指向一个zend_string。

  • 这就是在修改了变量b之后,为什么变量a的值也会变化的原因。

全部评论

相关推荐

03-09 20:32
运营
牛客972656413号:成绩管理系统会不会有点太。。。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务