我第一次嘗試創建PHP擴展。我需要一個將返回assoc數組的函數。所以對於測試的原因,我創建了一個小功能:PHP擴展函數array_init拋出'return_value未聲明'
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