gpt4 book ai didi

php - 为什么人们更喜欢 call_user_func_array 而不是常规的函数调用?

转载 作者:IT王子 更新时间:2023-10-28 23:59:07 25 4
gpt4 key购买 nike

function foobar($arg, $arg2) {
echo __FUNCTION__, " got $arg and $arg2\n";
}
foobar('one','two'); // OUTPUTS : foobar got one and two

call_user_func_array("foobar", array("one", "two")); // // OUTPUTS : foobar got one and two

我可以看到常规方法和 call_user_func_array 方法都输出相同,那么为什么要更喜欢它呢?

什么情况下常规调用方法会失败而call_user_func_array不会?

我能得到任何这样的例子吗?

谢谢

最佳答案

  1. 您有一个包含函数参数的数组,其长度不确定。

    $args = someFuncWhichReturnsTheArgs();

    foobar( /* put these $args here, you do not know how many there are */ );

    替代方案是:

    switch (count($args)) {
    case 1:
    foobar($args[0]);
    break;
    case 2:
    foobar($args[0], $args[1]);
    break;
    ...
    }

    这不是解决方案。

这种用例可能很少见,但是当您遇到它时,您需要它。

关于php - 为什么人们更喜欢 call_user_func_array 而不是常规的函数调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18526060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com