Les conditions

Les conditions

2 May 2021

En PHP, comme dans de nombreux autres langages de développement, vous aurez besoin d'exécuter du code selon certaines circonstances.

Dans un cas comme celui-ci, le meilleur moyen est d'utiliser l'instruction if.

if

L'instruction if vérifiera si la condition passée est vraie ou fausse et selon cette vérification, exécutera le code contenu à l'intérieur de celle-ci ou non.

$personne = 'John';
if ($personne === 'John') {
  echo 'Hello toi !';
}

Dans le cas ci-dessus, puisque la variable $personne est égale à "John", l'instruction renvoie true, soit "vrai", donc le code contenu dans le if est exécuté.

Une instruction if peut avoir plusieurs conditions enchaînées et les vérifiera les unes après les autres jusqu'à en trouver une qui retournera "vrai". Si jamais aucune n'est vraie, alors le code contenu dans le else sera exécuté par défaut.

$personne = 'John';
if ($personne === 'Jane') {
  echo 'Hello Jane !';
}
elseif ($personne === 'Sarah') {
  echo 'Hello Sarah !';
}
elseif ($personne === 'John') {
  echo 'Hello John !';
}
else {
  echo 'Ben... tu es qui ?';
}

Il est aussi possible de mettre plusieurs conditions dans un seul if si vous le souhaitez, mais soyez sûr que le code soit propre et lisible.

$personne = 'John';
if ($personne === 'Jane' || $personne === 'Sarah' || $personne === 'John') {
  echo 'Hello !';
}
else {
  echo 'Ben... tu es qui ?';
}

? moyen comme code non ?

switch

Une alternative à l'instruction if est possible et c'est switch.
Cette instruction vérifie l'égalité d'une valeur à une autre et ne peut en aucun cas vérifier si la valeur est supérieure ou inférieure.

$personne = 'John';
switch($personne) {
  case 'Jane':
    echo 'Hello Jane !';
    break;
  case 'Sarah':
    echo 'Hello Sarah !';
    break;
  case 'John':
    echo 'Hello John !';
    break;
  default:
    echo 'Ben... tu es qui ?';
}

Le code est plus propre et plus lisible. Les break contenus dans les case permettent d'arrêter la recherche si la valeur a été trouvée. Pas besoin de placer le mot-clé break dans default, le système comprendra de lui-même qu'il doit sortir quand il est à ce niveau.

if ternaire

Le if ternaire permet de vérifier une condition et de retourner une valeur sur une seule ligne. Attention ! Le elseif ne fonctionne pas dans un if ternaire.

Après la condition, le ternaire est suivi d'un point d'interrogation précédant la valeur devant être retournée si la condition est vraie, puis de deux-points et la valeur à retourner si la condition est fausse.

$livre = 'poche';
echo $livre === 'broche' ? 'Libre broché' : 'Libre de poche';

L'opérateur de coalescence nulle

Cette méthode fonctionne comme le if ternaire, mais en plus simple à écrire ! Très pratique !
Une valeur est vérifiée, si celle-ci est non null, alors sa valeur est affichée, sinon c'est la valeur située à droite des deux points d'interrogation qui sera affichée.

echo $livre ?? 'Connaît pas type de livre'; // Résultat : poche

$notExist = null;
echo $notExist ?? 'La variable est null'; // Résultat : La variable est null