Syntaxe
<<<
Syntaxe simple Syntaxe complexe
>>>

4.2.5.1.4 Traitement des variables dans les chaînes
4.2.5.1 Syntaxe
4.2.5 Les chaînes de caractères
4.2 Les types
4 Référence du langage
 Manuel PHP

->Syntaxe simple
Syntaxe complexe

4.2.5.1.4.1 Syntaxe simple

Dès qu'un signe dollar $ est rencontré, l'analyseur PHP va lire autant de caractères qu'il peut pour former un nom de variable valide. Entourez le nom de la variable avec des accolades pour indiquer explicitement son nom.

Utilisation des accolades {} dans les chaînes

<?php
$boisson
= 'vin';
echo
"Du $boisson, du pain et du fromage!";
// Correct, car "," n'est pas autorisé dans les noms de variables

echo 'Il a goûté plusieurs ' . $boissons;
// Pas correct, car 's' peut faire partie d'un nom de variable, et PHP recherchera alors $boissons

echo "Il a goûté plusieurs ${boisson}s";
// Correct
?>

De la même façon, vous pouvez utiliser un élément de tableau ou un membre d'objet. Pour les éléments de tableau, le crochet fermant ' ] ' marquera la fin du nom de la variable. Pour les membres d'objets, les mêmes règles que ci-dessus s'appliquent. Cependant, il n'existe pas d'astuce comme cela pour les variables simples.

Utilisation des accolades {} dans les chaînes pour les tableaux

<?php
// Ces exemples sont spécifiques à l'utilisation de tableaux dans une chaîne.
// Lorsque vous êtes hors d'une chaîne, utilisez toujours des guillemets
// autour des index de tableau, et n'utilisez pas d'{accolades}.

// Affichons toutes les erreurs
error_reporting(E_ALL);

$fruits = array('fraise' => 'rouge', 'banane' => 'jaune');

// Fonctionne mais notez que cela fonctionne pas comme
// si cela était hors d'une chaîne
echo "Une banane est $fruits[banane].";

// Fonctionne
echo "Une banane est {$fruits['banane']}.";

// Fonctionne mais PHP cherche une constante appelée banane
// tel que décrit ci-dessous
echo "Une banane est {$fruits[banane]}.";

// Ne fonctionne pas, il manque les accolades. Cela donne une erreur d'analyse
echo "Une banane est  $fruits['banane'].";

// Fonctionne
echo "Une banane est " . $fruits['banane'] . ".";

// Fonctionne
echo "Ce carré a un coté de $square->width mètres de large.";

// Ne fonctionne pas. Pour une solution, voyez la syntaxe complexe.
echo "Ce carré a un coté de $square->width00 centimètres.";
?>

Pour tout ce qui sera plus compliqué, voyez la syntaxe complexe.

<< Syntaxe simple >>
Syntaxe Traitement des variables dans les chaînes Syntaxe complexe