Я хотел бы создать и вернуть массив массивов в Расширение 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
?