是否可以创建一个可以接受任意数量参数的PHP函数?

mrm*_*mut 3 php function

我正在编写一些PHP代码,可以从模板生成HTML文件.

我希望,如果可能的话,创建一个函数,它将接受函数的任何字符串,并将其放入文件中.像这样:

function generator($a, $b, $c, $n...){
$filename =  $a . ".html";
ob_start ();
echo $b;
echo $c;
echo $d;
echo $n...;
$buffer = ob_get_clean();
file_put_contents($a, $buffer);
}
Run Code Online (Sandbox Code Playgroud)

我需要这个,因为不同的页面会有不同数量的包含文件,有了这个,我就可以跳过为特定页面制作不同的功能.只是一个迭代器,就是这样.

谢谢!

ish*_*egg 6

从PHP 5.6+开始,您可以使用...指示可变数量的参数:

function test (... $args)
{
    foreach ($args as $arg) {
        echo $arg;
    }
}

test("testing", "variable"); // testing variable
Run Code Online (Sandbox Code Playgroud)

所以,你的函数看起来像这样:

function generator($a, $b, $c, ... $n) {
    $filename =  $a . ".html";
    ob_start();

    echo $b;
    echo $c;

    foreach ($n as $var) {
        echo $var;
    }

    $buffer = ob_get_clean();
    file_put_contents($a, $buffer);
}
Run Code Online (Sandbox Code Playgroud)