如何在PHP中实现这样的呼叫中心功能?

时间:2009-09-23 05:14:46

标签: php call

它应该是这样的:

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)。

说,把其他职位留空。

2 个答案:

答案 0 :(得分:2)

您在call_user_func_arrayarray_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;
  }
}

可能有更好的方法来处理可变数量的参数,但这应该得到基本的想法。