Syntaxe de base PHP
6 Les variables
6.2 Le type chaîne de caractères (string)
Le type « chaîne de caractères » permet de manipuler les suites de caractères. Contrairement à d'autres langages le nombre de caractères d'une chaîne en PHP n'est pas fixé. PHP propose quatre syntaxes de manipulation des chaînes de caractères : guillemet double, guillemet simple, heredoc et nowdoc.
La syntaxe guillemet double
La chaîne de caractères est entourée entre des guillemets double.
Exemple 7
<?php
$nom= "Diop";
$prenom="Moussa" ;
echo "l'etudiant $prenom $nom";
?>
Remarques
- Pour utiliser des guillemets doubles à l'intérieur d'une chaîne entre guillemets doubles il faut la faire précéder du caractère anti-slash (\).
- Les séquences suivantes peuvent être utilisées à l'intérieur d'une chaîne entre guillemets doubles : \n, \r, \t, \v, \f, \$, \", \\, ...
La syntaxe guillemet simple
La chaîne de caractères est entourée entre des guillemets simple.
Exemple 8
<?php
$nom= 'Diop';
$prenom='Moussa';
echo 'l\'Etudiant $prenom $nom'; //les variables ne seront pas remplacées
echo 'l\'Etudiant Moussa DIOP';
?>
Remarques
- Les variables ne sont pas remplacées par leurs valeurs dans une chaîne entre guillemets simples.
- Pour utiliser des guillemets simples à l'intérieur d'une chaîne entre guillemets simples il faut la faire précéder du caractère anti-slash (\).
La syntaxe heredoc
La chaine de caractères débute par <<< suivi d'un identifiant similaire aux noms de variables et choisi par le programmeur. Le même identifiant sur une ligne signale la fin de la chaine de caratères.
Exemple 9
<?php
$id=1 ;
$nom= "Diop";
$prenom="Moussa" ;
$profilEtudiant= <<<profil
id : $id
Nom : $nom
Prenom=$prenom
profil
echo "profilEtudiant";
?>
Remarques
- Les chaînes heredoc se comporte de manières simillaires aux chaines entre guillemets doubles sauf que le caractère guillemet double n'a plus besoin d'être précédé par anti slash à l'intérieur de la chaîne.
- La ligne contenant l'identifiant ne doit contenir aucun autre caractère hormis le point-virgule à la fin. L'identifiant de fermeture doit occuper seul une nouvelle ligne.
La syntaxe nowdoc
La syntaxe est similaire aux chaines heredoc avec l'identifiant de début entouré par des guillemets simples.
Exemple 10
<?php
$profilEtudiant= <<<'profil'
id : 1
Nom : N'diaye
Prenom=Moussa
profil;
echo "$profilEtudiant";
?>
Remarques
- Les chaînes nowdoc se comporte de manières simillaires aux chaines entre guillemets simples sauf que le caractère guillemet simple n'a plus besoin d'être précédé par anti slash à l'intérieur de la chaîne. Les variables ne sont donc pas analysées lorsqu'elles sont à l'intérieur d'une chaîne nowdoc.
L'opérateur de concaténation
L'opérateur point (.) permet d'éffectuer la concaténation de deux chaines de caractères.
Exemple 11
<?php
$nom= "Diop";
$prenom="Moussa" ;
$nomComplet= $prenom . " " . $nom ;
echo "NomComplet:" . $nomComplet;
?>
L'opérateur d'assignation
L'opérateur = permet d'assigner une chaîne de caractère et l'opérateur .= est l'opérateur d'assignation complexe.
Exemple 12
<?php
$nom="Diop";
$prenom="Moussa" ;
$prenom.= " " . $nom ;
echo "NomComplet:" . $prenom;
?>
Les fonctions sur les chaînes de caractères
PHP dispose de nombreuses fonctions pour la gestion et la manipulation de chaînes de caractères. Le tableau suivant en liste quelques unes avec des exemples d'utilisation.
Fonctions |
Exemple |
Résultat |
Description |
nl2br |
nl2br("M \n D") |
M <br /> D |
insére un <br /> à chaque nouvelle ligne |
strcmp |
strcmp ("Moussa","Moise") |
12 |
compare 2 chaînes de caractères. |
strlen |
strlen("Moussa") |
6 |
retourne le nombre de caractère de la chaîne |
strpos |
strpos("Moussa",’s’) |
3 |
renvoie la position de la première occurrence d’un caractère |
strrev |
strrev("Moussa") |
assuoM |
inverse une chaîne |
strtolower |
strolower("MoussaDiop") |
moussadiop |
convertit les majuscules en miniscules |
strtoupper |
stroupper("Moussa") |
MOUSSA |
convertit les miniscules en majuscules |
trim |
trim(" Moussa ") |
Moussa |
Supprime les espaces en début et fin de chaîne |
echo, print |
echo ("Bonjour") |
1.35 |
Afficher une chaîne de caractères |
ucfirst |
ucfirst("moussa") |
Moussa |
Transforme le premier caractère en majuscule |
Applications
- Dans le repertoire chcaractère à la racine du documentRoot créer pour chaque exemple de cette section un fichier php (exemple7.php, exemple8.php, ...).
- Créer dans le repertoire chcaractère un fichier fonctionsChaine.php pour tester les fonctions sur les chaînes de caractères.