null值占用多少内存?

时间:2017-02-11 14:43:27

标签: php

http://php.net/manual/en/internals2.variables.intro.php

在研究它时,我对变量声明方式的理解完全改变了。我从.net背景来到PHP。当我们判断

时,我的理解是什么

int x = 32;

因为我们声明了int,所以它在内存中占用4 bytes空间,而null值不会占用任何空间,而是指向内存中的空引用。

在研究这本PHP手册时,我无法得出结论,空值如何占用内存中的空间。

由于

1 个答案:

答案 0 :(得分:2)

只应占用var声明的部分(不是内容)变量本质上是一个zval_struc

typedef struct _zval_struct {
   zvalue_value value;        /* variable value */
   zend_uint refcount__gc;    /* reference counter */
   zend_uchar type;           /* value type */
  zend_uchar is_ref__gc;     /* reference flag */
} zval;

看看这个提示http://www.slideshare.net/jpauli/understanding-php-memory/12-PHP

http://php.net/manual/en/internals2.variables.intro.php