问题标签 [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.
php - 从 mysqli stmt 查询返回一个数组
我正在尝试将站点转换为使用准备好的 mysql 语句,但是在替换fetch_array().
php.net 上的评论提供了一个我认为应该可行的解决方案,但由于某种原因,我在调用函数时遇到了奇怪的未定义常量错误,call_user_func_array()有人可以提出更好的方法吗?
这是我目前正在使用的功能。我已经把它放在这里了(它是一个更大的类的一部分,它扩展了 mysqli 并处理错误捕获等),如果我在复制和粘贴它时犯了任何错误,我很抱歉。
我得到的错误是:
注意:使用未定义的常量 mysqli_stmt_bind_result - 假定为 'mysqli_stmt_bind_result'
致命错误:调用未定义的方法 mysqli_stmt::free()
php - 如何在 call_user_func_array() 中编写特定的模型方法作为回调?
我一直在尝试向 Codeigniter 中的函数发送动态数量的参数,并且遇到了 call_user_func_array 的问题。
我收到“未定义属性:Account::$callShowMessage”的一个错误让我想知道是否可以使用 call_user_func_array/CodeIgniter 引用另一个文件中的函数。
如果有人可以帮助我指出正确的方向,将不胜感激。
大批:
控制器摘录:
功能:
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_caller或their_callback. 它们是框架的一部分。任何想法是什么阻止它工作?
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 的正确方法是什么?请让我知道我错过了什么/做错了什么?
php - PHP中的函数不返回结果
我有一个来自 Mysql 的简单数据检索 PHP 文件,并以 JSON 字符串进行编码。下面的代码按预期返回结果
?>
示例结果...
我的目标是使用传递给 PHP 的变量并基于它的名称调用函数。我似乎无法弄清楚我做错了什么!
?>
这是输出...
php - 如何调用_user_func_array内部方法
我需要像这样正确运行:
其中对象名称、方法和参数是变量:
使用call_user_func_array,或者也许有人知道替代方案。
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 警告但仍然无法正常工作
php - 何时使用 call_user_func_array
我已经阅读了有关使用与仅调用函数的堆栈call_user_func_array上的其他答案,但我仍然无法收集何时应该使用前者。call_user_func_array我知道当您不知道传递了多少个参数时您可能想要使用,因此您可以这样做: $args = func_get_args();...但是如果要在函数中使用参数,您是否总是需要知道参数?
以下两项工作,我假设第一项的开销较小。
对比
什么时候才能真正受益于使用call_user_func_array?
php - 传递已经在变量中的数组时,调用_user_func_array“不起作用”与bind_param
我在此代码中使用 call_user_func_array 时遇到问题
使用 $txt 变量会导致 fetch_array() 出错:
在布尔值上调用成员函数 fetch_array()
但是,如果我在代码中创建数组,它可以正常工作。例子:
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值,但我看不到如何使用它来检查调用是否成功。