我写了一个名为 sample_isset 的 pecl 函数,它的代码是:
PHP_FUNCTION(sample_isset) {
zval **fooval;
if(EG(active_symbol_table) == NULL) {
php_printf("the active symbol table is NULL");
}else if(zend_hash_find(EG(active_symbol_table),"foo",4,
(void **) &fooval) == SUCCESS){
php_printf("Got the value of $foo!");
} else {
php_printf("$foo is not defined!");
}
}
我想用这个函数来查看当前符号表是否有 $foo 变量。当我在全局范围内使用它时,它运行良好。但是当我在另一个函数中使用它时,例如你好,我出错了,什么也没看到。hello 函数可能是这样的。
function hello(){
sample_isset();
}
我不知道为什么我得到一个错误。