Sous-solP PHPPièce 2/7Débutant

Types, chaînes et conditions

Découvrir les types de valeurs de PHP, manipuler des chaînes de caractères et prendre des décisions avec if et match.

Ce que tu vas apprendre

  • Reconnaître les types de base : texte, nombres, booléens et null.
  • Assembler et transformer des chaînes de caractères.
  • Choisir entre deux chemins avec if, else et match.

Les types de base

Chaque valeur a un type, qui dit de quelle nature elle est. Voici les quatre que tu croiseras tout de suite.

<?php
$titre = "Gratin dauphinois"; // string : du texte
$duree = 75;                  // int : un entier
$note = 4.5;                  // float : un nombre à virgule
$vegetarien = true;           // bool : vrai ou faux
$photo = null;                // null : aucune valeur
TypeContenuExemple
stringdu texte"Tarte"
intun nombre entier45
floatun nombre à virgule (point, pas virgule)4.5
booltrue ou falsetrue
nulll'absence de valeurnull

PHP devine le type tout seul à partir de la valeur. Pour le connaître, utilise var_dump, qui affiche le type et le contenu :

<?php
var_dump($duree); // int(75)
var_dump($note);  // float(4.5)

Les chaînes de caractères

Une chaîne est un morceau de texte entre guillemets. Les guillemets simples et doubles ne se comportent pas pareil.

<?php
$nom = "Léa";
echo "Bonjour $nom";   // Bonjour Léa
echo 'Bonjour $nom';   // Bonjour $nom

Entre guillemets doubles, PHP remplace les variables. Entre guillemets simples, le texte reste tel quel.

Pour coller deux textes, on utilise le point, appelé concaténation :

<?php
$prenom = "Léa";
$message = "Bonjour " . $prenom . " !";
echo $message; // Bonjour Léa !

Quelques fonctions sur les chaînes

Une fonction est une action déjà écrite que tu appelles par son nom, avec des valeurs entre parenthèses.

<?php
$titre = "Tarte aux pommes";

echo strlen($titre);                  // 16 : le nombre de caractères
echo strtoupper($titre);              // TARTE AUX POMMES
echo str_replace("pommes", "poires", $titre); // Tarte aux poires
echo str_contains($titre, "pommes");  // 1 (vrai)

Attention aux accents : strlen("é") compte des octets, pas des lettres. Pour un texte français, préfère les versions multi-octets comme mb_strlen et mb_strtoupper.

echo affiche true comme 1 et false comme une chaîne vide. Pour voir la vraie valeur, utilise var_dump.

Comparer des valeurs

Une comparaison produit un booléen. Les opérateurs à connaître :

OpérateurSens
===égal, même valeur et même type
!==différent
< > <= >=plus petit, plus grand
&&et
||ou
!non

Utilise === plutôt que ==. La version à deux signes convertit les types avant de comparer, ce qui donne parfois des résultats surprenants.

Choisir avec if

Une condition exécute du code seulement si une expression est vraie.

<?php
$duree = 75;

if ($duree <= 30) {
    echo "Recette rapide";
} elseif ($duree <= 60) {
    echo "Recette moyenne";
} else {
    echo "Recette longue";
}

PHP teste les conditions dans l'ordre et s'arrête à la première vraie. Le bloc else couvre tous les autres cas.

match : un choix selon une valeur

Quand tu compares une même valeur à plusieurs possibilités, match est plus lisible qu'une suite de if.

<?php
$categorie = "dessert";

$libelle = match ($categorie) {
    "entree" => "Pour commencer",
    "plat" => "Le plat principal",
    "dessert" => "Pour finir en douceur",
    default => "Catégorie inconnue",
};
echo $libelle;

match renvoie une valeur, compare avec === et lève une erreur si aucun cas ne correspond et qu'il n'y a pas de default. Il existe depuis PHP 8.0.

Valeur par défaut avec ??

L'opérateur ?? donne une valeur de secours quand une variable est absente ou vaut null.

<?php
$photo = null;
echo $photo ?? "image-par-defaut.jpg"; // image-par-defaut.jpg

Tu le réutiliseras beaucoup avec les formulaires.

Dans un doute sur le contenu d'une variable, mets un var_dump($variable); juste après sa création. C'est le premier outil de débogage de tout développeur PHP.

À retenir

  • Une valeur a un type : string, int, float, bool ou null.
  • Les guillemets doubles remplacent les variables, les simples non ; le point colle deux chaînes.
  • Pour le texte accentué, utilise les fonctions mb_ (mb_strlen, mb_strtoupper).
  • Compare avec === pour éviter les conversions de type surprenantes.
  • if, elseif et else choisissent un chemin ; match associe une valeur à un résultat.
  • ?? fournit une valeur par défaut quand la variable est absente ou null.

Pour aller plus loin

Sources officielles

Ensuite

Projet
Lignes de code
Niveau
Sous-sol
Appartement
PHP
Pièce
2/7
Plan n°
php/02.types-et-chaines
Lignes de code · fiches rédigées à partir des documentations officielles, sources citées en bas de chaque page.