Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从c+;中的PHP扩展获取函数参数值+; 我在C++中创建了PHP扩展。在版本中PHP 5.6能够获得当前执行的函数细节。我得到的参数值如下所示 if (real_execute_data->function_state.arguments) { void **p = real_execute_data->function_state.arguments; int arg_count = (int)(zend_uintptr_t)* p; zval *argument_element; for (i = 0; i < arg_count; i++) { argument_element = (zval*)*(p - (arg_count - i)); // here can reads the value from argument_element } } if(real\u execute\u data->function\u state.arguments) { void**p=real\u execute\u data->function\u state.arguments; int arg_count=(int)(zend_uintpttr_t)*p; zval*参数_元素; 对于(i=0;i_Php_C++_Php Extension_Php Internals - Fatal编程技术网

从c+;中的PHP扩展获取函数参数值+; 我在C++中创建了PHP扩展。在版本中PHP 5.6能够获得当前执行的函数细节。我得到的参数值如下所示 if (real_execute_data->function_state.arguments) { void **p = real_execute_data->function_state.arguments; int arg_count = (int)(zend_uintptr_t)* p; zval *argument_element; for (i = 0; i < arg_count; i++) { argument_element = (zval*)*(p - (arg_count - i)); // here can reads the value from argument_element } } if(real\u execute\u data->function\u state.arguments) { void**p=real\u execute\u data->function\u state.arguments; int arg_count=(int)(zend_uintpttr_t)*p; zval*参数_元素; 对于(i=0;i

从c+;中的PHP扩展获取函数参数值+; 我在C++中创建了PHP扩展。在版本中PHP 5.6能够获得当前执行的函数细节。我得到的参数值如下所示 if (real_execute_data->function_state.arguments) { void **p = real_execute_data->function_state.arguments; int arg_count = (int)(zend_uintptr_t)* p; zval *argument_element; for (i = 0; i < arg_count; i++) { argument_element = (zval*)*(p - (arg_count - i)); // here can reads the value from argument_element } } if(real\u execute\u data->function\u state.arguments) { void**p=real\u execute\u data->function\u state.arguments; int arg_count=(int)(zend_uintpttr_t)*p; zval*参数_元素; 对于(i=0;i,php,c++,php-extension,php-internals,Php,C++,Php Extension,Php Internals,在PHP7.2版本中,我在Zend_execute_数据中找不到函数_状态结构。我尝试使用_Zend_arg_info结构,它给出函数参数变量名,而不是值。 如何在上面的PHP7中获取函数参数值?是。我得到了它。 我们可以在PHP7及以上版本中获得如下函数参数(zend_execute_data*real_execute_data) int arg\u count=ZEND\u CALL\u NUM\u ARGS(实际执行数据); int i; 对于(i=1;我已经检查过了吗? int arg

在PHP7.2版本中,我在Zend_execute_数据中找不到函数_状态结构。我尝试使用_Zend_arg_info结构,它给出函数参数变量名,而不是值。 如何在上面的PHP7中获取函数参数值?

是。我得到了它。 我们可以在PHP7及以上版本中获得如下函数参数(zend_execute_data*real_execute_data)

int arg\u count=ZEND\u CALL\u NUM\u ARGS(实际执行数据);
int i;
对于(i=1;我已经检查过了吗?
 int arg_count = ZEND_CALL_NUM_ARGS(real_execute_data);
    int i;
    for (i = 1; i <= arg_count; i++)
    {
        zval *argument_element = ZEND_CALL_ARG(real_execute_data, i);
        // we can reads the argument value from "argument_element".
    }