这篇文章介绍的内容是关于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扩展之数组 的详细内容。