Впервые я пытаюсь создать extenstion для PHP. Мне нужна функция, которая вернет массив-помощник. Поэтому по причинам тестирования я создал небольшую функцию:Функция расширения PHP array_init throws 'return_value undeclared'
PHP_FUNCTION(testing_array) {
char *firstVal = NULL;
char *secondVal= NULL;
int argc = ZEND_NUM_ARGS();
int firstVal_len;
int secondVal_len;
if (zend_parse_parameters(argc TSRMLS_CC, "ss", &firstVal, &firstVal_len, &secondVal, &secondVal_len) == FAILURE)
return;
array_init(return_array);
}
Но каждый раз, когда я tryimg для компиляции, компилятор говорит мне:
/root/php/php-src/ext/hello_world/hello_world.c:87: error: return_array undeclared (first use in this function)
/root/php/php-src/ext/hello_world/hello_world.c:87: error: (Each undeclared identifier is reported only once
/root/php/php-src/ext/hello_world/hello_world.c:87: error: for each function it appears in.)
Что я делаю неправильно? В каждом примере, который я видел, переменная массива не объявлена.
Для начала вы никогда не объявляли return_array как ошибку, если она не была array_init (testing_array)? – Kieran