<?php
function register_template(){
print_r(func_get_args());
# the result was an array ( [0] => my template [1] => screenshot.png [2] => nice template .. )
}
register_template( # unkown number of arguments
$name = "my template",
$screenshot = "screenshot.png",
$description = "nice template .. "
)
?>
Run Code Online (Sandbox Code Playgroud)
但是,我希望结果数组为$ key => $ value form,$ key表示参数名称.
dec*_*eze 14
PHP不支持任意数量的命名参数.您可以在函数声明中决定固定数量的参数及其名称,也可以只获取值.
通常的方法是使用数组:
function register_template($args) {
// use $args
}
register_template(array('name' => 'my template', ...));
Run Code Online (Sandbox Code Playgroud)
use*_*432 12
想要做同样的事情并且对已经给出的答案并不完全满意....
尝试将此添加到您的功能 - >
$reflector = new ReflectionClass(__CLASS__);
$parameters = $reflector->getMethod(__FUNCTION__)->getParameters();
$args = array();
foreach($parameters as $parameter)
{
$args[$parameter->name] = ${$parameter->name};
}
print_r($args);
Run Code Online (Sandbox Code Playgroud)
我没有考虑过试图让它成为你自己的功能但你可以打电话,但也许能......