Apprendre à coder sur pierre-giraud.com

DES COURS COMPLETS ET GRATUITS POUR TOUS

SOMMAIRE

Introduction

  1. Présentation du cours
  2. Introduction au PHP
  3. Mettre en place un env. de travail

Les bases en PHP

  1. Syntaxe de base du PHP
  2. Premières instructions PHP
  3. Introduction aux variables PHP
  4. Types de valeurs et concaténation
  5. Opérations sur les variables
  6. Conditions et opérateurs de comparaison
  7. Les conditions if, if...else et if... elseif... else
  8. Utilisation avancée des conditions
  9. Structures ternaires et switch
  10. Les boucles PHP
  11. Découverte des fonctions
  12. La portée des variables
  13. Les constantes PHP
  14. Les variables tableaux PHP
  15. Tableaux associatifs
  16. Tableaux multidimensionnels
  17. Test n°1

Gestion des dates en PHP

  1. Le timestamp
  2. Obtenir et formater une date
  3. Tester la validité d'une date
  4. Test n°2

Opérations sur les fichiers en PHP

  1. Lire, ouvrir, fermer un fichier
  2. Parcourir et lire un fichier par partie
  3. Créer un fichier et écrire dedans
  4. Ecrire dans un fichier
  5. Les instructions include et require
  6. Test n°3

Les variables superglobales

  1. Découverte des variables superglobales
  2. Les cookies
  3. Les sessions
  4. Test n°4

Les expressions régulières et PHP

  1. Découverte des regex
  2. Les fonctions PHP PCRE
  3. Quantifieurs et options
  4. Classes de caractères
  5. Test n°5

L'orienté objet en PHP

  1. Classes, instances et objets
  2. Propriétés et méthodes
  3. Extension de classe et héritage
  4. Le principe d'encapsulation
  5. La méthode constructeur
  6. L'opérateur de résolution de portée et la surcharge
  7. Constantes, méthodes et propriétés statiques
  8. Les classes et méthodes abstraites
  9. Les interfaces
  10. Les méthodes magiques
  11. Le chainage de méthodes

Notions avancées en POO

  1. Le typage explicite
  2. Les traits
  3. Les closures et les classes anonymes
  4. L'auto-chargement des classes
  5. Le mot clef final
  6. Résolution statique à la volée
  7. Parcourir des objets
  8. Le clonage d'objets

DECOUVERTE DES CONDITIONS ET UTILISATION DES OPERATEURS DE COMPARAISON EN PHP

Présentation des conditions en PHP

Les structures conditionnelles (ou plus simplement conditions) vont nous permettre d’exécuter différents scripts et donc d’effectuer différentes actions selon qu’une condition soit vérifiée ou pas.

Par exemple, on va pouvoir utiliser les conditions pour afficher un message de bienvenue différent en PHP sur notre site selon que l’utilisateur soit un homme ou une femme.

Nous allons très souvent utiliser les conditions avec des variables : selon la valeur stockée dans une variable, nous allons vouloir exécuter un bloc de code plutôt qu’un autre.

Les conditions vont ainsi être un passage incontournable pour rentre un site dynamique puisqu’elles vont nous permettre d’exécuter différents codes et ainsi afficher différents résultats selon le contexte actuel et selon le profil de chaque utilisateur.

En PHP, nous allons pouvoir utiliser les conditions suivantes :

  • La condition if (si) ;
  • La condition if… else (si… sinon) ;
  • La condition if… elseif… else (si… sinon si… sinon).

Nous allons étudier chacune de ces conditions dans la suite de cette partie.

Le PHP met encore à notre disposition ce qu’on appelle des structures ternaires qui sont des conditions très condensées ainsi que l’instruction switch, que nous verrons en détail après avoir étudié les conditions « classiques ».

Les opérateurs de comparaison

Comme je l’ai précisé plus haut, nous allons construire nos conditions autour de variables. Selon la valeur d’une variable, nous allons exécuter tel bloc de code ou tel autre.

Ainsi, nous allons avoir besoin avant tout de connaître des opérateurs de comparaison pour pouvoir tester si la valeur d’une variable répond à un certain critère ou pas.

Voici ci-dessous les différents opérateurs de comparaison disponibles en PHP ainsi que leur signification :

Opérateur Signification
== Est égal (en valeur) à
=== Est égal en type et en valeur à
!= Est différent (en valeur) de
!== Est différent en valeur ou en type de
> Est strictement supérieur à
< Est strictement inférieur à
>= Est supérieur ou égal à
<= Est inférieur ou égal à

Certain de ces opérateurs nécessitent certainement une précision de ma part.

Tout d’abord, notez que notre « égal » mathématique (l’égalité de valeur) se traduit en PHP par le double signe égal ==.

Ensuite, certains d’entre vous doivent certainement se demander ce que signifie le triple égal. Lorsqu’on utilise un triple égal ===, on signifie qu’on recherche l’égalité sur la valeur et sur le type de valeur.

Prenons un exemple simple pour illustrer cela. Imaginons que l’on possède une variable $x dans laquelle on stocke le chiffre 4. On veut ensuite comparer la valeur stockée dans notre variable à la chaîne de caractères « 4 ».

Si on utilise le double signe égal pour effectuer la comparaison, l’égalité va être validée par le PHP car celui-ci ne va tester que les valeurs, et 4 est bien égal à 4.

En revanche, si on utilise le triple signe égal, alors l’égalité ne va pas être validée car nous comparons un nombre à une chaine de caractères (donc des types différents de valeurs).

On va suivre exactement le même raisonnement pour les deux opérateurs != et !==.

Pas d’inquiétude, nous allons clarifier les choses et nous entrainer avec des exemples dès maintenant.

Utiliser les opérateurs de comparaison

Il me semble véritablement essentiel, pour comprendre clairement les conditions, d’avant tout comprendre comment fonctionnent les opérateurs de comparaison et les mécanismes qui sont activés en PHP lorsqu’on les utilise.

Tout d’abord, vous devez savoir que lorsqu’on teste la valeur d’une variable avec un opérateur de comparaison, le PHP va par défaut toujours renvoyer une valeur booléenne selon le résultat de l’égalité / inégalité.

Ainsi, si l’égalité ou l’inégalité est validée, le PHP va renvoyer la valeur booléenne true. Si en revanche l’égalité ou l’inégalité n’est pas validée, c’est le valeur false qui va être retournée.

Il est essentiel de savoir cela car nos conditions vont ensuite se servir de cette valeur booléenne renvoyée.

Je comprends que cela puisse vous sembler assez abstrait pour le moment. Illustrons donc immédiatement cela avec des exemples.

Utilisation des opérateurs de comparaison en PHP

On cherche à comprendre comment PHP réagit à une comparaison

Expliquons les résultats obtenus. Tout d’abord, vous remarquez qu’on a utilisé la fonction var_dump() pour afficher les résultats plutôt que echo.

Cela a été fait pour une raison simple : echo va transformer toute valeur en chaîne de caractères avant de l’afficher. Or, l’équivalent de la valeur booléenne true en chaîne de caractères est la chaine de caractères « 1 » tandis que false devient « 0 » ou une chaine de caractères vide.

Comme je voulais absolument vous montrer que le PHP renvoyait bien une valeur booléenne après l’utilisation d’opérateurs de comparaison, j’ai donc été obligé d’utiliser la fonction var_dump() à la place de echo.

Le rôle de la fonction PHP var_dump() est en effet d’afficher les informations structurées d’une variable, dont son type et sa valeur. C’est pour cela que le navigateur nous affiche des bool(true) ou bool(false).

Cela dit, analysons maintenant chacune de nos opérations en détail et expliquons les résultats en soi.

Pour commencer, on compare la valeur contenue dans $x au chiffre 4. Si le PHP considère l’égalité vérifiée, il renvoie le booléen true. Dans le cas contraire, il renverra false.

Comme vous pouvez le voir, c’est la valeur true qui est renvoyée. En effet, la valeur de notre variable est bien égale en valeur au chiffre 4.

Dans la deuxième opération, on compare la valeur contenue dans $x au chiffre 7 avec l’opérateur de supériorité absolue.

Si le PHP détermine que la valeur contenue dans $x est strictement supérieure au chiffre 7, il renvoie true. Dans le cas contraire, il renvoie false.

Dans le cas présent, $x contient le chiffre 4, qui n’est pas strictement supérieur au chiffre 7. C’est donc la valeur false qui est renvoyée.

Pour notre troisième comparaison, on décide de comparer la valeur de $x à la chaine de caractères « 4 ». On utilise le double signe égal pour cela, on ne va donc comparer que les valeurs.

Comme la valeur 4 est bien égale en valeur à la chaine de caractères « 4 », PHP renvoie true.

Ensuite, on compare à nouveau la valeur contenue dans notre variable $x à la chaine de caractères « 4 ». Cependant, cette fois-ci, on utilise le triple signe égal.

En faisant cela, on signifie que l’on veut comparer les valeurs mais également les types de chacune des deux valeurs. Comme un nombre et une chaine de caractères n’ont pas le même type, PHP renvoie cette fois-ci false.

Dans notre cinquième opération, on demande à PHP de déterminer si la valeur contenue dans $x est différente (en valeur) de la chaine de caractères « 4 ».

Comme le chiffre 4 n’est pas différent en valeur de la chaine de caractères « 4 », le PHP renvoie false (car rappelez vous qu’on teste ici la différence).

Enfin, on demande à PHP de déterminer si la valeur contenue dans $x est différente en valeur ou en type de la chaine de caractères « 4 ».

Le chiffre 4 est bien d’un type différent de la chaine de caractères « 4 », et donc le PHP renvoie true.

Avec toutes ces indications, vous devriez maintenant être capable de bien comprendre les exemples ci-dessus. Toutefois, je conçois que la somme d’informations nouvelles puisse être dense. Prenez donc bien votre temps et n'hésitez pas à refaire les exemples puis à relire ce chapitre à tête reposée.

Cela peut vous sembler inutile pour le moment, mais je vous assure que vous progresserez beaucoup plus vite par la suite et que l’apprentissage sera beaucoup plus agréable si vous faites l’effort de comprendre comment fonctionne le PHP en profondeur.

Chapitre précédent

Chapitre suivant