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
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 :
Syntaxe complexe de chaîne |
<?php // Affichons toutes les erreurs error_reporting(E_ALL);
$super = 'fantastique';
// Ne fonctionne pas. Affiche : Ceci est { fantastique} echo "Ceci est { $super}";
// Fonctionne. Affiche Ceci est fantastique echo "This is {$super}"; echo "This is ${super}";
// Fonctionne echo "Ce carré a un coté de {$square->width}00 centimètres.";
// Fonctionne echo "Ceci fonctionne : {$arr[4][3]}";
// Ceci est faut pour la même raison que $foo[bar] est faux // hors d'une chaîne. En d'autres terme, cela va fonctionne // car PHP recherche d'abord une constante appelée foo, mais // il générera une note E_NOTICE (undefined constant). echo "Ceci est faux : {$arr[foo][3]}";
// Fonctionne. Lorsuqe vous utilisez un tableau multidimensionnel dans // une chaîne, n'oubliez jamais les accolades. echo "Ceci fonctionne : {$arr['foo'][3]}";
// Fonctionne echo "Ceci fonctionne : " . $arr['foo'][3];
echo "Vous pouvez même écrire {$obj->values[3]->name}
<< |
Syntaxe complexe |
>> |
Syntaxe simple |
Traitement des variables dans les chaînes |
Syntaxe |
|
|