从C 中的PHP扩展中获取函数参数值
Getting function argument value from PHP extension in c++
我已经在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
}
}
在版本php 7.2中,我找不到zend_execute_data.i内部的函数_STATE结构。我在_zend_arg_info结构中尝试过,它给出了函数参数变量名称,而不是值。我如何在上面的php 7中获得函数参数值?
是。我得到了它。如下所示,我们可以在PHP 7及以上获得函数参数(zend_execute_data *real_execute_data(,
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".
}
相关文章:
- 具有默认值的引用获取函数
- 如何从"decltype()"获取函数参数的数量<funtion>?
- C++ 获取函数在常量引用中按值返回的结果
- 如何从参数中获取函数签名?
- 获取函数的地址?
- 如何从不同的类中获取函数来调用在 Main 中声明的对象?
- 在 gcc/clang (C++) 中获取函数范围之外的标签地址
- 如何使用 std::invoke_result_t 获取函数的返回类型
- 获取函数中基元类型的指针
- 如何从 lambda 表达式中获取函数指针?
- 如何从核密度估计中获取函数?
- 如何在函数内部使用 zmq(以非阻塞方式)在客户端请求时获取函数的状态?
- 具有获取函数的无限循环
- 使用 decltype(this) 获取函数引用
- 在编译时使用可变参数模板在 c++ 中使用参数类型检查获取函数的参数数
- 如何在C++中接收任何类型的函数参数并获取函数内传递变量的类型?
- 从C 中的PHP扩展中获取函数参数值
- 从返回绑定中获取函数失败
- 从 Rcpp c++ 函数获取 r 函数参数
- 获取函数调用方的地址?