NetPlusMédia

Comment avoir une fonction PHP avec X arguments ? Partie 2

Retour

Deux solutions :

Nous avons déjà expliqué la première : cliquez ici

La deuxième possibilité est de mettre les variable dans un tableau

 

Merci Eric poly-dev.com



test_champs.php

  1. <?php
  2. function test_champs($tableau_variable=array()){
  3.  
  4. //le champs "type_test" et "champs" n'existent pas
  5. if(!isset($tableau_variable['type_test']) && !isset($tableau_variable['champs']))
  6. return "Aucun argument n&#39;a &eacute;t&eacute; envoy&eacute;";
  7.  
  8. //le champs "type_test" n'existe pas, on affiche le champs
  9. if(!isset($tableau_variable['type_test']))
  10. return $tableau_variable['champs'];
  11.  
  12. //le champs "champs" n'existe pas
  13. if(!isset($tableau_variable['champs']))
  14. return "Le champs a tester est vide";
  15.  
  16. //les deux champs "type_test" et "champs" existent
  17. //on test si l'e.mail est valide
  18. if($tableau_variable['type_test']=="email")
  19. return ( preg_match('#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#' , $tableau_variable['champs'])
  20. ? "E.mail valide" : "E.mail invalide" );
  21.  
  22. }
  23.  
  24.  
  25. echo "On test un e.mail valide : ";
  26. echo test_champs(array(
  27. "type_test"=>"email",
  28. "champs"=>"email@test.fr"
  29. ))."<br /><br />";
  30.  
  31.  
  32. echo "On test un e.mail invalide : ";
  33. echo test_champs(array(
  34. "type_test"=>"email",
  35. "champs"=>"email@test"
  36. ))."<br /><br />";
  37.  
  38.  
  39. echo "On affiche un texte : ";
  40. echo test_champs(array(
  41. "champs"=>"Ceci est un texte"
  42. ))."<br /><br />";
  43.  
  44.  
  45. echo "Aucun argument : ";
  46. echo test_champs();

Démonstration

On test un e.mail valide : E.mail valide

On test un e.mail invalide : E.mail invalide

On affiche un texte : Ceci est un texte

Aucun argument : Aucun argument n'a été envoyé
Eric    Posté le : 19/12/2012 - 13:41
Petite astuce de validation si vous utilisez php >= 5.2.0 :
var_dump(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL));

Laissez-nous un commentaire


Votre pseudo/nom/prénom :
Votre commentaire :
Plan du site - Contact - Google+ - FaceBook - Twitter