L3 Info : PHP et Applications Web
 
◃  Ch. 9 Extra ball !  ▹
 

L'instruction match

  • Disponible depuis PHP 8
  • Ressemble à switch mais :
    • réalise une comparaison stricte (avec ===) des valeurs testées ;
    • chaque cas est séparée par une virgule (,) ;
    • renvoie le résultat de l'expression associée à la valeur reconnue ;
    • ne passe pas au cas suivant (pas besoin de break)
  • Exemple :
    $valeur = match ($diplome) {
      Diplome::Licence => 'Bac+3',
      Diplome::Master => 'Bac+5',
      Diplome::Doctorat => 'Bac+8',
    }
  • Chaque cas accepte une expression (variable, constante, appel de fonction, ...)
  • Un résultat peut être associé à plusieurs valeurs au même résultat (liste de valeurs séparées par des virgules)
  • Mot-clé default accepté pour traiter les valeurs résiduelles
  • Exemple :
    $valeur = match ($diplome) {
      Diplome::Licence, Diplome::Master, Diplome::Doctorat => 'Post-bac',
      default => 'Hors-LMD'
    }