牛骨文教育服务平台(让学习变的简单)
博文笔记

php扩展:如何访问php数组

创建时间:2007-06-24 投稿人: 浏览次数:127
     在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 );
    }

}

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。