PHP böyle bir callcenter işlevi uygulamak nasıl?

2 Cevap php

Bu gibi bir şey olmalıdır:

function callcenter($func,$value,$position)
{

}

$ Işlev çağrılacak fonksiyon, nerede

$ Değer, $ işlev için parametre

ve $ konum, $ değer endeksi açılımı

örneğin,

callcenter('func',1,2) aslında fonk aramalısınız (null, 1)

callcenter('func',1,3) aslında fonk aramalısınız (null, null, 1).

Boş gibi diğer pozisyonlar bırakarak, söylüyorlar.

2 Cevap

Sen peşindeler call_user_func_array ve 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);
?>

Php bu ismi bir varable saklanan bir işlevi çağırmak için doktorunun, bu yüzden

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

Orada parametrelerin değişken sayıda işlemek için daha iyi bir yol olabilir, ancak bu genelinde temel fikir almalısınız.