这篇文章介绍的内容是关于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中文网其他相关文章!