-1

次のようになります。

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)を呼び出す必要があります。

たとえば、他の位置をnullのままにします。

4

2 に答える 2

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);
?>
于 2009-09-23T05:24:44.193 に答える
0

PHPでは、名前が変数に格納されている関数を呼び出すことができます。

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;
  }
}

可変数のパラメーターを処理するためのより良い方法があるかもしれませんが、それは基本的な考え方を理解するはずです。

于 2009-09-23T05:22:09.613 に答える