《php扩展开发》–return_*宏的使用

RETURN_FALSE宏为例,我们展开后得到:

1
2
3
4
5

#define RETVAL_FALSE ZVAL_FALSE(return_value)
#define ZVAL_FALSE(z) do {
Z_TYPE_INFO_P(z) = IS_FALSE;
} while (0)

所以,RETURN_FALSE的作用就是把return_value这个扩展函数的返回值设置为false,然后再执行C语言的return;,从而跳出扩展函数。所以,RETURN_FALSE后面是不需要分号结尾的。(当然,写了也没事)