在PHP中打印所有函数参数

时间:2014-02-08 13:28:00

标签: php arrays function arguments

这是我的裸机插件系统:

 function DoPlugin() {
    $fargs = func_get_args();
    $type  = $fargs[0];
    $args  = range($fargs[1], $fargs[count($fargs)]);
    if(function_exists($type))
        call_user_func($type, $args);
    else
        echo "Function doesn't exist!";
    }

    function MyPlugin() {
    $fargs = func_get_args();
    $args    = range($fargs[0], $fargs[count($fargs)]);
    $strArgs = implode(" ", $args);
    echo $strArgs;
    }

    $args = array("MyPlugin", "Egg", "Milk");
    DoPlugin($args[0], range($args[1], $args[count($args)]));

它应该调用函数“DoPlugin”,然后用所有参数调用“MyPlugin”,然后“MyPlugin”将它们全部用空格分隔。

这是它输出的内容:

1 0

这就是我想要输出的内容:

Egg Milk

如何打印函数的所有参数,用空格分隔?

2 个答案:

答案 0 :(得分:1)

您需要使用call_user_func_array代替自定义函数DoPlugin

function MyPlugin(){
    echo implode(" ", func_get_args());
}

$args = array("MyPlugin", "Egg", "Milk");
call_user_func_array(array_shift($args), $args);

输出将是:

  

Egg Milk

演示:https://eval.in/99503

答案 1 :(得分:0)

DoPlugin() this your function

假设您要发送此DoPlugin();

的两个参数
DoPlugin($arg1,$agr2)

调用函数时发送参数值