问题标签 [call-user-func-array]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3648 浏览

php - 从 mysqli stmt 查询返回一个数组

我正在尝试将站点转换为使用准备好的 mysql 语句,但是在替换fetch_array().

php.net 上的评论提供了一个我认为应该可行的解决方案,但由于某种原因,我在调用函数时遇到了奇怪的未定义常量错误,call_user_func_array()有人可以提出更好的方法吗?

这是我目前正在使用的功能。我已经把它放在这里了(它是一个更大的类的一部分,它扩展了 mysqli 并处理错误捕获等),如果我在复制和粘贴它时犯了任何错误,我很抱歉。

我得到的错误是:

注意:使用未定义的常量 mysqli_stmt_bind_result - 假定为 'mysqli_stmt_bind_result'

致命错误:调用未定义的方法 mysqli_stmt::free()

0 投票
1 回答
3972 浏览

php - 如何在 call_user_func_array() 中编写特定的模型方法作为回调?

我一直在尝试向 Codeigniter 中的函数发送动态数量的参数,并且遇到了 call_user_func_array 的问题。

我收到“未定义属性:Account::$callShowMessage”的一个错误让我想知道是否可以使用 call_user_func_array/CodeIgniter 引用另一个文件中的函数。

如果有人可以帮助我指出正确的方向,将不胜感激。

大批:

控制器摘录:

功能:

0 投票
1 回答
224 浏览

php - PHP 嵌套 call_user_func_array 和类

我有一个基于我正在使用的现有框架的复杂场景,这迫使我处理嵌套call_user_func_array调用。我有一个具有两个功能的文件:

然后我有另一个文件,其中包含一个类和一些公共方法:

当我调用my_caller()的新实例时MyClass,它会调用their_caller该实例,然后传递一个参数数组,其中包含对MyClass(as $this) 的引用以及方法my_callback

their_caller()然后将请求转发给their_callback并传递$options

their_callback可以调试$options[0]并看到它是一个包含对MyClassand的引用的数组my_callback

我调用get_class_methods()$options[0][0]their_callback它会显示方法列表,但由于某种原因,它call_user_func_array($options[0], $options[1]);不会调用my_callback. MyClass我什至可以打电话$options[0][0]->my_callback('HELLO');,它的工作原理。

不幸的是,我无法修改their_callertheir_callback. 它们是框架的一部分。任何想法是什么阻止它工作?

0 投票
1 回答
2019 浏览

php - 在类方法上使用 call_user_func

我正在尝试设置一个 PHP 方法,该方法传递一个对象及其方法名称,然后调用该对象的该方法。我试图在我的代码中限制字符串的使用,所以我想使用自定义枚举来做到这一点。但是,当我运行此示例时,这是我收到的输出:

获取测试

警告 call_user_func() 期望参数 1 是有效的回调,第二个数组成员不是第 43 行的有效方法

echo call_user_func(array($object, $method));

虽然它似乎打印出正确的方法,但它表示正在传递的方法不是有效的方法。我很困惑,因为我按照 PHP.net 上的教程进行操作

http://php.net/manual/en/function.call-user-func.php

在类的方法上使用 call_user_func 的正确方法是什么?请让我知道我错过了什么/做错了什么?

0 投票
2 回答
580 浏览

php - PHP中的函数不返回结果

我有一个来自 Mysql 的简单数据检索 PHP 文件,并以 JSON 字符串进行编码。下面的代码按预期返回结果

?>

示例结果...

我的目标是使用传递给 PHP 的变量并基于它的名称调用函数。我似乎无法弄清楚我做错了什么!

?>

这是输出...

0 投票
1 回答
31 浏览

php - 如何调用_user_func_array内部方法

我需要像这样正确运行:

其中对象名称、方法和参数是变量:

使用call_user_func_array,或者也许有人知道替代方案。

0 投票
1 回答
138 浏览

php - PHP 5.5,无法让 call_user_func_array 与 bing_param 一起使用

我有 PHP 版本 5.5.9-1,并且在调用 stmt 的 call_user_func_array 和 bind_param 时遇到问题。我有以下代码

我收到以下错误,我不知道为什么

我尝试包装字符串“'s'”,但报告没有足够的参数。我究竟做错了什么?

谢谢

更新

我已经尝试了php5.3 中的代码 - mysqli_stmt:bind_params 带有 call_user_func_array 警告但仍然无法正常工作

0 投票
4 回答
4264 浏览

php - 何时使用 call_user_func_array

我已经阅读了有关使用与仅调用函数的堆栈call_user_func_array上的其他答案,但我仍然无法收集何时应该使用前者。call_user_func_array我知道当您不知道传递了多少个参数时您可能想要使用,因此您可以这样做: $args = func_get_args();...但是如果要在函数中使用参数,您是否总是需要知道参数?

以下两项工作,我假设第一项的开销较小。

对比

什么时候才能真正受益于使用call_user_func_array

0 投票
1 回答
498 浏览

php - 传递已经在变量中的数组时,调用_user_func_array“不起作用”与bind_param

我在此代码中使用 call_user_func_array 时遇到问题

使用 $txt 变量会导致 fetch_array() 出错:

在布尔值上调用成员函数 fetch_array()

但是,如果我在代码中创建数组,它可以正常工作。例子:

0 投票
2 回答
1672 浏览

php - 检查 call_user_func_array 是否成功执行

可以使用动态调用函数或方法call_user_func_array。如果调用本身失败,FALSE则返回。此外,call_user_func_array返回被调用的函数或方法的返回值。

因此,当被调用的函数或方法FALSE也返回时(例如,参见 SO示例),该值将被识别为误报。

如何可靠地检查函数或方法调用是否成功执行call_user_func_array

编辑:人们倾向于指出is_callable. 但这不是在调用方法之前检查方法是否存在,从而避免可能的错误。实际上在进行call_user_func_array函数调用之前,它的参数和参数类型已经被验证使用Reflection以避免大规模分配攻击

文档提到了返回FALSE值,但我看不到如何使用它来检查调用是否成功。