Chaines de caractères
Rappel
Les chaines de caractères en PHP sont délimitées par des guillemets simples ou par des guillemets doubles. Les guillemets doubles permettent l’interpolation des variables et l’interprétation de certaines séquences d’échappement, tandis que les guillemets simples les traitent comme du texte brut. >> Voir le rappel
Concaténation de chaines
L'opérateur de concaténation de chaine est le point ".".
<?php
$nom = 'Dayne';
$prenom = 'Arthur' . 'Jr';
$nom .= $prenom;
echo $nom;
Comparaison de chaines
La comparaison de chaines s'effectue à l'aide de l'opérateur "==" ou une des fonctions de comparaison.
==
- Compare les chaînes en tenant compte de la casse.
- Effectue une comparaison typée faible, ce qui signifie que PHP tente de convertir les types si nécessaire (exemple : comparaison entre un nombre et une chaîne).
<?php
$ch1 = "Bonjour";
$ch2 = "bonjour";
if ($ch1 == $ch2) {
echo "Les chaînes sont égales.";
} else {
echo "Les chaînes sont différentes.";
}
// Résultat : "Les chaînes sont différentes."
$ch1 = 4;
$ch2 = "4";
if ($ch1 == $ch2) {
echo "Les chaînes sont égales.";
} else {
echo "Les chaînes sont différentes.";
}
// Résultat : "Les chaînes sont égales."
===
- Compare à la fois la valeur et le type.
<?php
$ch1 = 4;
$ch2 = "4";
if ($ch1 === $ch2) {
echo "Les chaînes sont égales.";
} else {
echo "Les chaînes sont différentes.";
}
// Résultat : "Les chaînes sont différentes."
strcmp
strcmp — Comparaison binaire de chaînes
Comparaison sensible à la casse.
Renvoie :
- 0 si les chaînes sont identiques.
- Un entier négatif si $ch1 < $ch2.
- Un entier positif si $ch1 > $ch2.
strcasecmp
strcasecmp — Comparaison insensible à la casse de chaînes binaires
Comparaison insensible à la casse.
Même principe que strcmp, mais ignore les différences de majuscules/minuscules.
iième caractère d'une chaine
L'accès au iième caractère d'une chaine (0 à longueur de la chaine - 1) s'effectue selon l'une de ces deux syntaxes:
[i]
Privilégiez l'utilisation des crochets plutôt que des accolades par similitude avec la plupart des langages modernes.
Chaines et entités HTML
Rappel sur les entités HTML
Les entités HTML permettent d'afficher des caractères spéciaux qui :
-
n'existent pas sur un clavier standard (ex. ©, €, ®…).
-
sont réservés en HTML et doivent être échappés (<, >, ", '…).
htmlspecialchars($str)`
Convertit uniquement les caractères spéciaux suivants :
| Caractère | Entité HTML |
|---|---|
| & | & |
| < | < |
| > | > |
| " | " |
| ' | ' (dans certaines configurations uniquement) |
htmlentities($str)
Convertit toutes les entités HTML possibles, y compris les caractères accentués (é, à, ç, etc.).
<?php
$a = 'La balise <br> est un saut de ligne à utiliser uniquement dans un <p> ';
echo $a;
echo htmlspecialchars($a), '<br>';
echo htmlentities($a), '<br>';
Tip: Regarder le code source généré. Comment est généré le caractère
à? Comment sont générées et affichées les balises html ?
De nombreuses fonctions de manipulation des chaines sont proposées dans la documentation officielle. Référence officielle >>