Syntaxe simple
<<<
Syntaxe complexe Syntax
>>>

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

Syntaxe simple
->Syntaxe complexe

4.2.5.1.4.2 Syntaxe complexe

La syntaxe est dite "complexe" car elle permet l'utilisation d' expressions complexes, et non pas parcequ'elle serait obscure. Nuance.

En fait, vous pouvez inclure n'importe quelle valeur qui est dans l'espace de nom avec cette syntaxe. Il suffit d'écrire une expression exactement comme si elle était hors de la chaîne, puis de l'entourer d'accolades {} . Puisque vous ne pouvez pas échapper les accolades, cette syntaxe ne commence qu'à partir du signe dollar, qui suit immédiatement l'accolade ouvrante. Par exemple, vous pouvez utiliser "{\$" pour obtenir un "{$" littéral. Voici quelques exemples :


<?php
  $super
= 'fantastique';
  echo
"C'est { $super}";
// ne fonctionne pas,
// affiche "C'est { fantastique}"
  
echo "C'est {$super}";
// fonctionne,
// affiche "C'est fantastique"
  
echo "Ce carré a {$square->width}00 centimètres de large.";
  echo
"Ceci fonctionne : {$tableau[4][3]}";
  echo
"Ceci échoue : {$tableau[foo][3]}";
// pour la même raison que $tableau[bar] ne fonctionne pas hors d'une chaîne

  
echo "Essayez plutôt comme ceci : {$tableau['foo'][3]}";
  echo
"Vous pouvez même écrire {$objet->valeurs[3]->nom}";
  echo
"Voici la valeur de la variable nommée $name: {${$name}}";
  
// cela fonctionne, mais c'est vivement déconseillé.
// Et pour finir, on peut combiner avec des fonctions
  
$inv = 'Bordeaux';
  echo
"Je reprendrai bien un verre de cet excellent {${ strrev('niv') }}, hips";

?>

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