2010-06-01 7 views
3

Je pensais à la possibilité d'accéder à toutes les variables qui sont passées dans une fonction, et les fusionner dans un tableau. (Sans passer des variables dans un tableau à partir du début)PHP: Collecter toutes les variables passées à une fonction en tant que tableau?

Pseudo-code:

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

Répondre

9
+0

Vous ne pouvez pas croire à quel point c'était facile. Merci beaucoup pour l'une des réponses les plus rapides sur SO je suis arrivé jusqu'ici :) – Industrial

+0

J'étais au bon endroit au bon moment: D – Andy

9

Jetez un oeil à func_get_args fonction. Voici comment vous pouvez construire un tableau pour eux:

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

Il peut être utile d'identifier clairement que les éléments que vous croiserez doivent être traités comme un tableau. Par exemple, définissez votre fonction def sur

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