- L'interpolation de variables dans les chaînes de caractères ne se limitent pas aux variables simples
$ageToto = 42;
$chaine = "Toto a $ageToto ans";
echo $chaine . PHP_EOL;
- Il est possible d'interpoler un élément de tableau ou un attribut d'instance (attention avec les tableaux associatifs !)
$arrayToto = [42];
$chaine = "Toto a $arrayToto[0] ans";
echo $chaine . PHP_EOL;
$assocToto = ['age'=>42];
$key = 'age';
$chaine = "Toto a $assocToto[$key] ans";
echo $chaine . PHP_EOL;
$objetToto = (object) ['age'=>42];
$chaine = "Toto a $objetToto->age ans";
echo $chaine . PHP_EOL;
- Mais on ne peut pas interpoler des tableaux à plusieurs dimensions ou des attributs d'objets contenus dans des tableaux...
- Pour les expressions plus complexes il faut les placer entre accolades ; le symbole $ doit suivre immédiatement l'accolade ouvrante
$arrayToto = [42];
$chaine = "Toto a {$arrayToto[0]} ans";
echo $chaine . PHP_EOL;
$assocToto = ['age'=>42];
$key = 'age';
$chaine = "Toto a {$assocToto[$key]} ans";
echo $chaine . PHP_EOL;
$objetToto = (object) ['age'=>42];
$chaine = "Toto a {$objetToto->age} ans";
echo $chaine . PHP_EOL;