Php zend_如何在zval中使用?
我无法理解Php zend_如何在zval中使用?,php,Php,我无法理解zend_refcounted*counted的目的字段(它是zval的一部分)。什么时候用 typedef union _zend_value { zend_long lval; /* long value */ double dval; /* double value */ zend_refcounted *counted; zend_string *s
zend_refcounted*counted的目的union\u zend\u value
中的code>字段(它是zval
的一部分)。什么时候用
typedef union _zend_value {
zend_long lval; /* long value */
double dval; /* double value */
zend_refcounted *counted;
zend_string *str;
zend_array *arr;
zend_object *obj;
zend_resource *res;
zend_reference *ref;
zend_ast_ref *ast;
zval *zv;
void *ptr;
zend_class_entry *ce;
zend_function *func;
struct {
uint32_t w1;
uint32_t w2;
} ww;
} zend_value;
我知道,每个表示非标量值的结构,如zend\u string
,zend\u array
等,都是从zend\u refcounted\u h
结构开始的。因此,zend_ref也被计算在内,但除此之外没有别的
typedef struct _zend_refcounted zend_refcounted;
/*...*/
struct _zend_refcounted {
zend_refcounted_h gc;
};