php扩展开发:引用传参
这两天想让函数返回多个参数,除了return_value,又定义一个引用参数来返回数据。记录如下:
1、在PHP_FUNCTION(func_name)中定义: zval *refval; 参数解析: Z_PARAM_ZVAL(refval); 获取实际地址: zval *real_var = Z_REFVAL_P(info); 然后对real_var正常操作即可。 2、在函数说明中: ZEND_BEGIN_ARG_INFO(arginfo_func_name,0) ... ZEND_ARG_INFO(1, refval) //注意第一个参数1代表引用传参。 ... ZEND_END_ARG_INFO() 3、在php页面中调用func_name(...,ref_name,...);即可通过ref_name获取返回的值。无须在php页面中定义此变量,函数调用返回后可直接使用此ref_name。
你可能想看: