我想在 PHP 扩展中创建并返回一个数组数组。据我了解,我应该使用 为数组元素分配空间emalloc()
,但我不明白何时适合释放它。我有一个与此类似的 PHP 函数:
PHP_FUNCTION(test)
{
int i;
zval **pt = emalloc(sizeof(zval*) * 10);
array_init(return_value);
for (i = 0; i < 10; ++i) {
MAKE_STD_ZVAL(pt[i]);
array_init(pt[i]);
add_index_double(pt[i], 0, 1);
add_index_zval(return_value, i, pt[i]);
}
}
我应该在哪里释放分配给的内存pt
?