Bonjour,

On sait tous que les variables PHP sont interprétées dans les chaines de caractères délimitées par des guillemets (cotes doubles).
L'exemple suivant le montre :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
$name = "toto";
echo "Bonjour $name !";
//va afficher : Bonjour toto !
Ma question est donc la suivante : y a-t-il une différence si l'on utilise des guillemets pour spécifier la clé d'un élément de tableau (la clé étant attendue au format string).
Exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
//définition du tableau
$tab = array('toto'=>'toto', 'tutu'=>'tutu');
 
//initialisation d'une clé
$key = 'toto';
 
//utilisation de la clé SANS GUILLEMETS
echo $tab[$key];
//utilisation de la clé AVEC GUILLEMETS
echo $tab["$key"];
Dans les deux cas d'utilisation, le résultat s'affichera, mais je voulais savoir quelle syntaxe est la plus correcte ? quelle est la différence entre les deux cas ?

J'ajoute qu'il m'est arrivé d'avoir une situation où la première syntaxe (sans les guillemets) ne fonctionnait pas, et seule la deuxième (avec les guillemets) fonctionnait.

Merci d'avance pour vos explications/avis.