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的值也会变化的原因。

发布了60 篇原创文章 · 获赞 0 · 访问量 1438

猜你喜欢

转载自blog.csdn.net/ClassmateLin/article/details/104324554
今日推荐