时间:2021-07-01 10:21:17 帮助过:20人阅读
近来看了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扩展之数组 的详细内容,更多请关注Gxl网其它相关文章!