PHP: dizi gibi bir işleve geçirilen tüm değişkenleri toplayın?

3 Cevap php

Ben bir işlev geçirilen tüm değişkenleri erişim olasılığını düşünmeye ve bir diziye onları birleştirmek oldu. (Başından itibaren bir diziye değişkenleri geçirmeden)

Pseudo-kod:

// Call function
newFunction('one', 'two', 'three' ) ;// All values are interpreted as a one rray in some way

// Function layout
newFunction( ) {    
   // $functionvariables =  array( All passed variables) 

    foreach ($functionvariable as $k => $v) {
        // Do stuff
    }
}

3 Cevap

func_get_args fonksiyonuna bir göz atın. Bu onlar için bir dizi oluşturmak nasıl olduğunu:

function test()
{
  $numargs = func_num_args();

  $arg_list = func_get_args();
  $args = array();

  for ($i = 0; $i < $numargs; $i++)
  {
    $args[] = $arg_list[$i];
  }

  print_r($args);
}

Bu, açıkça geçiyoruz öğeleri bir dizi olarak ele alınması gerektiğini belirlemek için yararlı olabilir. Örneğin, def sizin işlevi ayarlayabilirsiniz

function newFunction( $arrayOfArguments ) { 
    foreach($arrayOfArguments as $argKey => $argVal)
    { /* blah */ }
}