IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] Variable dans chaine avec guillemets en clé de tableau


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Janvier 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 10
    Par défaut [Tableaux] Variable dans chaine avec guillemets en clé de tableau
    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.

  2. #2
    Membre émérite Avatar de haltabush
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    726
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 726
    Par défaut
    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.
    !!!
    Là, je ne comprends pas...
    Normalement, la première forme est la bonne, rajouter des guillemets force PHP a faire une opération supplémentaire pour rien.

  3. #3
    Membre chevronné Avatar de TucSale
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 264
    Par défaut
    c'est l'un des débat du php ...
    C'est a ton bon vouloir et surtout utilise la syntaxe qui est la plus simple pour toi a relire

Discussions similaires

  1. [XSLT]comment recuperer variable dans url avec xsl
    Par jeha dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 29/10/2007, 11h34
  2. Réponses: 5
    Dernier message: 10/08/2007, 14h44
  3. [Tableaux] variable dans la source d'une image
    Par theotaki dans le forum Langage
    Réponses: 3
    Dernier message: 12/04/2007, 23h33
  4. afficher une variable ou chaine avec PLPGSQL
    Par doudoudon dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 14/08/2006, 13h46
  5. [Tableaux] Variable dans l'url avec EasyPhp 1.8
    Par zoheir_hm dans le forum Langage
    Réponses: 6
    Dernier message: 24/06/2006, 16h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo