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 :

[POO] Récupérer les valeurs d'un objet en PHP


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut [POO] Récupérer les valeurs d'un objet en PHP
    Bonjour,

    Je ne suis pas familiarisé avec les objets.
    Après un var_dump du résultat d'une fonction, j'obtiens la chose suivante :

    J'obtiens après un var_dump($answer), la réponse suivante :

    array(2) { ["settings"]=> object(stdClass)#7 (3) { ["ISOcountryCode"]=> string(2) "FR" ["ISOlanguageCode"]=> string(2) "FR" ["ISOcurrencyCode"]=> string(3) "EUR" } ["types"]=> object(stdClass)#8 (1) { ["Vehicle"]=> array(6) { [0]=> object(stdClass)#9 (1) { ["Engine"]=> object(stdClass)#10 (1) { ["Fuel"]=> object(stdClass)#11 (3) { ["Code"]=> int(100003) ["Name"]=> string(1) "D" ["NameEx"]=> string(6) "Diesel" } } } [1]=> object(stdClass)#12 (1) { ["Engine"]=> object(stdClass)#13 (1) { ["Fuel"]=> object(stdClass)#14 (3) { ["Code"]=> int(100007) ["Name"]=> string(3) "d/g" ["NameEx"]=> string(13) "Diesel ou gaz" } } } [2]=> object(stdClass)#15 (1) { ["Engine"]=> object(stdClass)#16 (1) { ["Fuel"]=> object(stdClass)#17 (3) { ["Code"]=> int(100001) ["Name"]=> string(1) "E" ["NameEx"]=> string(18) "Essence sans plomb" } } } [3]=> object(stdClass)#18 (1) { ["Engine"]=> object(stdClass)#19 (1) { ["Fuel"]=> object(stdClass)#20 (3) { ["Code"]=> int(100012) ["Name"]=> string(3) "E/A" ["NameEx"]=> string(17) "Essence / Ethanol" } } } [4]=> object(stdClass)#21 (1) { ["Engine"]=> object(stdClass)#22 (1) { ["Fuel"]=> object(stdClass)#23 (3) { ["Code"]=> int(100006) ["Name"]=> string(3) "e/g" ["NameEx"]=> string(14) "Essence ou gaz" } } } [5]=> object(stdClass)#24 (1) { ["Engine"]=> object(stdClass)#25 (1) { ["Fuel"]=> object(stdClass)#26 (3) { ["Code"]=> int(100004) ["Name"]=> string(1) "K" ["NameEx"]=> string(19) "Courant électrique" } } } } } }
    Ma question est, comment afficher ces valeurs récupérées ???
    Je n'y parviens pas;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $answer->Vehicle->Engine->Fuel->NameEx
    ne m'affiche rien..
    Vous l'aurez compris, je ne maitrise pas le langage objet

    Merci a qui saura me donner la solution !

    Cordialement,

  2. #2
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    bienvenue sur les forums de developpez.com

    Je ne sais pas si tu arrives à lire ton var_dump, moi j'ai du mal en tout cas. Je te suggère tout d'abord d'inclure ce var_dump dans un <pre> pour avoir les retours à la lignes qui vont bien, ou alors de rien changé mais de prendre le resultat du var_dump dans le code source de ta page plutot que sur le navigateur web.
    Ensuite, quand tu le colles ici, utilises plutot la balise CODE que la balise QUOTE

    ça ira déjà tout de suite mieux...

    En attendant, $answer n'est pas un objet, mais un tableau.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $answer['settings']->ISOcountryCode
    $answer['types']->Vehicle[0]->Engine->Fuel->NameEx

  3. #3
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Bonjour,

    Tout d'abord, pour exploiter plus facilement ton var_dump, entoures-le de la balise <pre> pour conserver le formatage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo '<pre'>;
    var_dump($answer);
    echo '</pre>';
    Ensuite, $answer n'est pas un objet, mais un tableau associatif contenant deux objets (clés "settings" et "types"). L'objet de la clé 'types' a une propriété 'vehicle' qui est un tableau de 6 éléments, etc...

    Pour accéder à la propriété NameEx du premier élément (clé 0) du tableau 'vehicle', il te faut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $answer['types']->Vehicle[0]->Engine->Fuel->NameEx;
    Edit : grilled

  4. #4
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Copieur

Discussions similaires

  1. DBGrid récupérer les valeurs de l'enregistrement courant
    Par bob_sapp dans le forum Bases de données
    Réponses: 5
    Dernier message: 06/09/2014, 07h56
  2. Récupérer des valeurs d'un objet sans passer par les boucles
    Par soucou dans le forum Calcul scientifique
    Réponses: 4
    Dernier message: 02/03/2013, 16h05
  3. [MySQL] Récupérer les valeurs définies dans un champ ENUM
    Par Huntress dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 03/07/2010, 18h55
  4. Réponses: 4
    Dernier message: 15/07/2008, 17h56
  5. [Couleur] Récupérer les valeurs R,V,B et L,U,V ?
    Par M4v3rick dans le forum C++Builder
    Réponses: 4
    Dernier message: 25/01/2004, 03h28

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