php实战C扩展之数组

不言
不言原创
2023-03-24 20:12:021377浏览

这篇文章介绍的内容是关于php实战C扩展之数组 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

近来看了php的c扩展书写,尝试接入数组处理,学会了几个HashTable处理函数记录如下:

zend_hash_next_index_insert 插入数据(数字数组或者关联数组);

zend_hash_add 插入关联数组

zend_hash_index_update 数字数组或者关联数组

zend_hash_update 更新关联数组


代码:


   zval *arr, *prefix, *entry,;
    zend_string *string_key;
    zend_ulong num_key;
    int a;
    if (zend_parse_parameters(ZEND_NUM_ARGS(), "aa", &arr, &prefix) == FAILURE) {
        return;
    }
    a = zend_hash_num_elements(Z_ARRVAL_P(arr)) + zend_hash_num_elements(Z_ARRVAL_P(prefix));
    array_init_size(return_value,a );
    ZEND_HASH_FOREACH_KEY_VAL(Z_ARRVAL_P(arr), num_key, string_key, entry) {
         zend_hash_next_index_insert(Z_ARRVAL_P(return_value), entry);
    } ZEND_HASH_FOREACH_END();




以上就是php实战C扩展之数组 的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。