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

  1. 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 (\).
  2. 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

  1. Les variables ne sont pas remplacées par leurs valeurs dans une chaîne entre guillemets simples.
  2. 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

  1. 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.
  2. 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

  1. 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

  1. Dans le repertoire chcaractère à la racine du documentRoot créer pour chaque exemple de cette section un fichier php (exemple7.php, exemple8.php, ...).
  2. Créer dans le repertoire chcaractère un fichier fonctionsChaine.php pour tester les fonctions sur les chaînes de caractères.