当前位置: 首页 > 面试题库 >

PHP传递函数名称作为param然后调用该函数?

傅边浩
2023-03-14
问题内容

我需要将一个函数作为参数传递给另一个函数,然后从该函数内部调用传递的函数……这可能对我来说更容易用代码解释。我基本上想做这样的事情:

function ($functionToBeCalled)
{
   call($functionToBeCalled,additional_params);
}

有没有办法做到这一点..我正在使用PHP 4.3.9

谢谢!


问题答案:

我想你在找call_user_func

PHP手册中的示例:

<?php
function barber($type) {
    echo "You wanted a $type haircut, no problem";
}
call_user_func('barber', "mushroom");
call_user_func('barber', "shave");
?>


 类似资料:
  • Scala 函数 Scala的解释器在解析函数参数(function arguments)时有两种方式: 传值调用(call-by-value):先计算参数表达式的值,再应用到函数内部; 传名调用(call-by-name):将未计算的参数表达式直接应用到函数内部 在进入函数内部前,传值调用方式就已经将参数表达式的值计算完毕,而传名调用是在函数内部进行参数表达式的值计算的。 这就造成了一种现象,每

  • 问题内容: 如果我有 我如何在内部找出现在由表示的变量称为? 问题答案: 这是不可能的。即使是按引用传递也不会帮助您。您必须将名称作为第二个参数传递。 但是,您肯定要问的 不是 解决问题的好方法。

  • 问题内容: 我感觉这不可能,但是我想确定已传递给javascript函数的变量的原始变量名。我不知道该如何更好地解释它,所以看看这个例子是否有意义。 这是我正在使用的jquery插件,我希望能够显示传递给“调试”函数的变量的名称。 问题答案: 没错,以任何理智的方式这都是不可能的,因为只有值才传递到函数中。

  • 到目前为止,我做到了: 我的Ajax1函数返回ajax对象。我的等待函数看起来像这样: 问题是第二个ajax请求函数(Ajax2)并没有等待等待函数!编辑:我也试过: 什么也没变。从jQuery文档: 在将多个延迟对象传递给jQuery.when的情况下,该方法将从新的“master”返回promise“延迟对象,跟踪已传递的所有延迟的聚合状态。当所有延迟被解决时,该方法将立即解决其主延迟,或者当

  • 问题内容: 是否可以具有递归和匿名的PHP函数?这是我尝试使其工作,但未传入函数名称。 我还知道这是实现阶乘的一种不好方法,这只是一个例子。 问题答案: 为了使其正常工作,您需要传递$ factorial作为参考

  • 问题内容: 如何在不执行“父”函数或不使用函数的情况下将函数作为参数传递?(因为我已经读到它是不安全的。) 我有这个: 它可以工作,但是问题是在调用函数时触发,而不是在函数中使用时触发。 根据我所读的内容,我可以使用来解决它,但这不是最佳实践。如何在JavaScript中将函数作为参数传递? 问题答案: 您只需要删除括号: 然后,这将传递函数而不先执行它。 这是一个例子: