PHP底层zend_types.h中结构体,联合体,宏(替换),hashtable

struct _zval_struct {
	zend_value        value;			/* value */
	union {
		struct {
			ZEND_ENDIAN_LOHI_4(
				zend_uchar    type,			/* active type */
				zend_uchar    type_flags,
				zend_uchar    const_flags,
				zend_uchar    reserved)	    /* call info for EX(This) */
		} v;
		uint32_t type_info;
	} u1;
	union {
		uint32_t     next;                 /* hash collision chain */
		uint32_t     cache_slot;           /* literal cache slot */
		uint32_t     lineno;               /* line number (for ast nodes) */
		uint32_t     num_args;             /* arguments number for EX(This) */
		uint32_t     fe_pos;               /* foreach position */
		uint32_t     fe_iter_idx;          /* foreach iterator index */
		uint32_t     access_flags;         /* class constant access flags */
		uint32_t     property_guard;       /* single property guard */
		uint32_t     extra;                /* not further specified */
	} u2;
};

 

 

有三个联合体

  ZEND_ENDIAN_LOHI_4为宏

PHP底层zend_types.h中结构体,联合体,宏(替换),hashtablezend_types.h

PHP底层zend_types.h中结构体,联合体,宏(替换),hashtable

 

 

PHP底层zend_types.h中结构体,联合体,宏(替换),hashtable

PHP底层zend_types.h中结构体,联合体,宏(替换),hashtable