一、变量
变量是最常见的数据类型应用形式,它由三个主要部分组成,变量名,变量值,变量类型,php 中的变量名于变量值分别对应的为:zval,zend_value,这两个概念一定要区分开,php的变量的内存是通过引用计数进行管理的,而且php7中的引用计数转移到了具体的 value结构中而不在是 zval,这是php与旧版本不同的一个地方,变零之间的传递,赋值通常也针对 zend_value。
php 中 通过 $ 符号定义一个变量,在定义的同时可以进行初始化,在变量使用的不需要提前声明,事实上普通变量定义的方式包含了两步:变零定义、变量初始化,只定义而不初始化变量也是可以的。
例如:
$a;
$b = 1;
这段代码在执行时会分配两个 zval,也就是这里定义了两个变量,只不过$a 没有值而已,相当于 unset() 了。
二、 变量类型
// file: zend_types.h
/* regular data types */
#define IS_UNDEF 0
#define IS_NULL 1
#defin