144 votes

Le passage d'un Tableau en argument, pas un Tableau, en PHP

Je crois me souvenir qu'en PHP il y a un moyen de passer d'un tableau comme une liste d'arguments d'une fonction, d'être déréférencé le tableau dans la norme func($arg1, $arg2) . Mais maintenant je suis perdu sur la façon de le faire. Je me souviens de la manière de le passage par référence, à la façon de "glob" paramètres entrants ... mais pas la façon de liste du tableau dans une liste d'arguments.

Il peut être aussi simple que d' func(&$myArgs), mais je suis assez sûr que, n'est-ce pas. Mais, malheureusement, la php.net manuel n'a pas divulgué rien jusqu'à présent. Non pas que j'ai eu à utiliser cette particularité pour la dernière année ou ainsi.

174voto

vartec Points 53382

81voto

Jeff Ober Points 3314

Notez également que si vous souhaitez appliquer une méthode d'instance à un tableau, vous devez passer à la fonction de:

call_user_func_array(array($instance, "MethodName"), $myArgs);

10voto

DanMan Points 3499

Par souci d'exhaustivité, que de PHP 5.1 cela fonctionne aussi:

<?php
function title($title, $name) {
    return sprintf("%s. %s\r\n", $title, $name);
}
$function = new ReflectionFunction('title');
$myArray = array('Dr', 'Phil');
echo $function->invokeArgs($myArray);  // prints "Dr. Phil"
?>

Voir: http://php.net/reflectionfunction.invokeargs.php

Pour les méthodes que vous utilisez ReflectionMethod::invokeArgs au lieu de cela et de passer de l'objet en tant que premier paramètre.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X