To make returning values from functions easier and to prevent hassles with accessing the internal structures of the zval container, a set of predefined macros is available (as usual). These macros automatically set the correspondent type and value, as described in Table 55-1 and Table 55-2.
Note: The macros in Table 55-1 automatically return from your function, those in Table 55-2 only set the return value; they don't return from your function.