它应该是这样的:
function callcenter($func,$value,$position)
{
}
其中$ func是要调用的函数,
$ value是$ func的参数,
和$ position代表$ value的索引,
例如,
callcenter('func',1,2)
实际上应该调用func(null,1)
callcenter('func',1,3)
实际上应该调用func(null,null,1)。
说,把其他职位留空。
答案 0 :(得分:2)
您在call_user_func_array和array_fill
之后<?php
function callcenter($func, $value, $position)
{
$args = array_fill(0, $position-1, null);
$args[] = $value;
call_user_func_array($func, $args);
}
function example()
{
$args = func_get_args();
var_dump($args);
}
callcenter('example',1,2);
callcenter('example',1,3);
?>
答案 1 :(得分:0)
在php中,调用一个名称存储在varable中的函数是可行的,所以
function callcenter($func,$value,$position)
{
switch ($position)
{
case 1: $func($value); break;
case 2: $func(null, $value); break;
case 3: $func(null, null, $value); break;
}
}
可能有更好的方法来处理可变数量的参数,但这应该得到基本的想法。