A set of macros was introduced into Zend's API that
simplify access to zval containers
(see 表格
42-1).
表格 42-1. API Macros for Accessing
zval Containers
Macro |
Refers
to |
Z_LVAL(zval) |
(zval).value.lval |
Z_DVAL(zval) |
(zval).value.dval |
Z_STRVAL(zval) |
(zval).value.str.val |
Z_STRLEN(zval) |
(zval).value.str.len |
Z_ARRVAL(zval) |
(zval).value.ht |
Z_LVAL_P(zval) |
(*zval).value.lval |
Z_DVAL_P(zval) |
(*zval).value.dval |
Z_STRVAL_P(zval_p) |
(*zval).value.str.val |
Z_STRLEN_P(zval_p) |
(*zval).value.str.len |
Z_ARRVAL_P(zval_p) |
(*zval).value.ht |
Z_LVAL_PP(zval_pp) |
(**zval).value.lval |
Z_DVAL_PP(zval_pp) |
(**zval).value.dval |
Z_STRVAL_PP(zval_pp) |
(**zval).value.str.val |
Z_STRLEN_PP(zval_pp) |
(**zval).value.str.len |
Z_ARRVAL_PP(zval_pp) |
(**zval).value.ht |