Passer un nombre d'arguments variables à une fonction PHP

Ce script permet de passer un nombre variable d'arguments nommés à une fonction, sous réserve qu'aucun argument ne soit un tableau.

Fonction PHP

                                            
                                                <?php
                                                
                                                function myFunction($params = null) {
                                                    // Initialisation des variables par défaut
                                                    // ...
                                                    // ...
                                                    
                                                    // Récupération des arguments
                                                    // Les paramètres passés écrasent les variables par défaut
                                                    if (isset($params)) {
                                                        while (list($key,$value) = each($params))
                                                            $$key = stripslashes($value);
                                                    }
                                                    
                                                    // Le code de la fonction
                                                    // ...
                                                    // ...
                                                }
                                                
                                                ?>
                                            
                                        

Usage

                                            
                                                <?php
                                                
                                                $myParams = array(
                                                                "p1"	=> "param 1",
                                                                "p2"	=> "param 2",
                                                                "p3"	=> "param 3"
                                                             );
                                                             
                                                function myFunction($myParams) {
                                                    
                                                    // Les variables locales sont p1, p2, p3
                                                    // Si l'une d'elle est initialisée localement, sa valeur est remplacée,
                                                    // sinon, la variable est créée.
                                                    
                                                }
                                                
                                                ?>