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 :

Variables inexistantes passées par référence


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    193
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 193
    Par défaut Variables inexistantes passées par référence
    Bonjour à tous!

    Je vous laisse constater le problème par vous-même:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $arr=array();
    function test(&$value){}
     
    test($arr["mauvaise_clef"]);
     
    while ($el=each($arr)){
    echo $el["key"]."<br>";
    }
    Ce code affiche "mauvaise_clef"
    Apparemment passer une variable par référnce la crée si elle n'existe pas. Elle est NULL et ne passe pas le test du isset, mais existe et est repérée par exemple avec each...
    Quelqu'un aurait une solution à ce pb? J'ai essayé un unset dans la fonction test mais rien n'y fait.

    Si cela vous intrigue, j'en ai besoin car j'ai crée une fonction pour voir si une variable existe et renvoyer une valeur par défaut sinon (mais je ne veux pas que la variable soit créée )

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 350
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 350
    Billets dans le blog
    17
    Par défaut
    Hello,
    Je ne comprends pas ton problème. Peux-tu l'illustrer avec une portion de code FONCTIONNELLE en donnant le résultat obtenu et celui attendu.
    A+

  3. #3
    Membre éclairé Avatar de B.Moncef
    Étudiant
    Inscrit en
    Août 2007
    Messages
    75
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 75
    Par défaut
    Bonjour,

    Son problème est que $arr['mauvaise_clef'] n'existe pas, il ne la définie nul part dans son script.

    Mais quand il l'envoie en tant que paramètre par référence à une fonction, elle est créée automatiquement.

    Pourrait-on savoir ce que vaut $el['value'] ? à moins d'une subtilité que je n'ai pas saisi, ça me semble être un bug PHP.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ce n'est pas un bug.
    Note: Si vous assigner, passer ou retourner une variable indéfinie par référence, elle sera créée.
    http://docs.php.net/manual/fr/langua...ces.whatdo.php
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    193
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 193
    Par défaut
    Citation Envoyé par B.Moncef Voir le message
    Pourrait-on savoir ce que vaut $el['value'] ? à moins d'une subtilité que je n'ai pas saisi, ça me semble être un bug PHP.
    La variable $el['value'] est de type NULL

    Citation Envoyé par sabotage Voir le message
    Oui voila (je n'avais pas encore trouvé de doc la-dessus). Ca dépend de ce qu'on appelle "bug". On va dire que c'est un "bug officiel"
    Bon et moi ca m'embêtes bien car pas moyen d'y remédier

  6. #6
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 350
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 350
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par lysandre Voir le message
    ca m'embêtes bien car pas moyen d'y remédier
    Pt-être bien que si si on savait ce que tu veux faire au final

Discussions similaires

  1. [RegEx] Récupération variable passé par référence
    Par Aurélien LEQUOY dans le forum Langage
    Réponses: 3
    Dernier message: 11/06/2013, 09h09
  2. Réponses: 3
    Dernier message: 15/05/2010, 15h13
  3. [VB.NET]Objet passé par référence
    Par olbi dans le forum VB.NET
    Réponses: 4
    Dernier message: 02/07/2007, 14h28
  4. [Tableaux] récuperer une variable tableau passé par URL
    Par molesqualeux dans le forum Langage
    Réponses: 2
    Dernier message: 23/12/2005, 01h12
  5. [POO] Problème de paramètre passé par référence
    Par dug dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 31/08/2005, 20h29

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