Rendre des arguments de fonction facultatif

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Rendre des arguments de fonction facultatif

par Henri » 09 sept. 2006, 23:32

tu peux rendre des arguments facultatifs en leur donnant une valeur par défaut

function ma_function ($arg1, $arg2, $arg3=0, $arg4='french') {
...
}

ma_function ($a, $b, 5, 'english');
ma_function ($a, $b);

http://www.php.net/manual/fr/functions.arguments.php

Sinon, tu peux également travailler avec la fonction extract qui permet de ne passer qu'un seul argument (un tableau associatif) que tu décomposes ensuite dans la fonction

function ma_fonction2 ($params) {
extract($params);
echo "$couleur $taille $forme";
}

ma_fonction2 (array("couleur" => "bleu",
                   "taille"  => "moyen",
                   "forme"  => "sphere"));

Rendre des arguments de fonction facultatif

par rspir » 09 sept. 2006, 22:43

Bonjour

Je viens de finaliser une de mes premières fonctions.
Celle ci peut recevoir 5 arguments.
Cependant, j'aimerais pouvoir dans certains cas en utiliser moins (de 1 à 4).

Pour le moment, quand j'appelle ma fonction sans tous les arguments, j'ai le message
Missing argument .... bla bla bla
.

Est il possible de rendre des arguments facultatifs ?

Quetions subsidiaire : quand je fais mes tests sous MAMP, je n'ai pas de message d'erreur. Ce n'est que quand je mets en ligne que je vois les Missing Arugement. Comment faire pour que MAMP me retourne également ces messages ? Cela m'évitera les surprises !

Merci d'avance