Services webmasters
Partenaires
Jeux concours gratuits
 
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
 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ère 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!";
// OK, car "," n'est pas autorisé dans les noms de variables
  
echo "Il a goûté plusieurs $boissons";
// Pas OK, car 's' peut faire partie d'un nom de variable, et PHP recherchera alors $boissons
  
echo "Il a goûté plusieurs ${boisson}s";
// OK
?>

Similairement, vous pouvez aussi 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 de truc comme 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
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -