php扩展:如何访问php数组
在php扩展中,时常需要接受php类型的数组作为参数,php数组的参数都是zval类型的,并不适合在扩展中方便的使用,一般都要提前转换成c或cpp中的数据类型。首先看一个转换的例子:
void convert_to_vector(const zval * vals, vector<string> &valList) {
// create the list to write
HashPosition pos;
zval **z_val = NULL;
string value;

zend_hash_internal_pointer_reset_ex( Z_ARRVAL_P( vals ), &pos );

while ( zend_hash_get_current_data_ex( Z_ARRVAL_P( vals ), (void **)&z_val, &pos ) == SUCCESS ) {
convert_to_string_ex( z_val );
value = Z_STRVAL_PP(z_val);

valList.push_back(value);

zend_hash_move_forward_ex( Z_ARRVAL_P( vals ), &pos );
}
}


















声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇:没有了
copyright © 2008-2019 入门客AI创业平台 版权所有 备案号:湘ICP备2023012770号