L2 Info : PHP et Programmation Web
 
◃  Ch. 14 Retour sur les E/S  ▹
 

Interpolations complexes

  • 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;