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] Lire un tableau d'objets


Sujet :

Langage PHP

  1. #1
    Invité
    Invité(e)
    Par défaut [POO] Lire un tableau d'objets
    Bonjour,

    je me retrouve avec un tableau d'objets que je voudrais parser. j'y arrive en affichant $test['aaa']->bbb->ccc->ddd

    mais après mon ddd, d'autres objets. Mais comment il y a plusieurs fois le même objets, j'ai [0], [1]

    et je voudrais juste récupérer le eee de [0]. J'ai essayé $test['aaa']->bbb->ccc->ddd->0->eee mais ça ne fonctionne pas.

    Quelqu'un aurait une idée ?

    Merci

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Bonjour,

    Peux-tu être plus clair ?
    Tu as un tableau d'objets, qui contiennent des propriétés qui ont eux-même des propriétés. Jusque là je suis.
    mais le [0] et le [1] ?

  3. #3
    Invité
    Invité(e)
    Par défaut
    par exemple, j'ai un objet personne qui a un objet animal.

    l'objet animal a 3 propriétes : race, nom, age.

    une personne a 2 animaux donc j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    stdClass Object
    (
        [animal] => stdClass Object
            (
                [0] => stdClass Object
                    (
                        [race] => stdClass Object
                            (
                                [txt] => bulldog
                            )
     
                        [nom] => stdClass Object
                            (
                                [txt] => toto
                            )
     
                        [age] => stdClass Object
                            (
                                [txt] => 1 an
     
                            )
                    )
                 [1] => stdClass Object
                    (
                        [race] => stdClass Object
                            (
                                [txt] => caniche
                            )
     
                        [nom] => stdClass Object
                            (
                                [txt] => titi
                            )
     
                        [age] => stdClass Object
                            (
                                [txt] => 2 ans
     
                            )
                    )
    j'arrive a juste afficher les animaux, ca ok mais je voudrais juste récupérer l'age du premier chien.

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Etrange comme représentation. Tu considères les objets comme des tableaux.
    Moi j'aurais pensé ça comme des vraies classes, avec propriétés et méthodes, grâce auxquelles on accède aux objets.
    Peux-tu montrer ton code ?
    Sinon, tu peux t'inspirer de ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
    class Animal
    {
    	private $race;
    	private $nom;
    	private $age;
     
    	public function __construct($race,$nom,$age)
    	{
    		$this->race = $race;
    		$this->nom = $nom;
    		$this->age = $age;
    		}
     
    	public function getRace()
    	{
    		return $this->race;
    		}
     
    	public function getNom()
    	{
    		return $this->nom;
    		}
     
    	public function getAge()
    	{
    		return $this->age;
    		}
    	}	
     
    class Homme
    {
    	private $animals=array();
    	private $animalcounter = 0;
     
    	public function setAnimal($animal)
    	{
    		$this->animals[$this->animalcounter] = $animal;
    		$this->animalcounter = $this->animalcounter+1;
    		}
     
    	public function getAnimal($animalnumber)
    	{
    		return $this->animals[$animalnumber];
    		}
     
    	public function count(){
    		return $animalcounter;
    		}
    	}
     
     
     
     
    $man = new Homme();
    $chien = new Animal('Cabot','Médor','3');
    $chat = new Animal('Persan','Garfield','5');
    $rat = new Animal('Rat', 'Mickey', '115');
    $man->setAnimal($chien);
    $man->setAnimal($chat);
    $man->setAnimal($rat);
     
    echo $man->getAnimal(2)->getNom();  //affiche Mickey.
     
    ?>
    En étendant ça, tu peux imbriquer autant d'objets que tu veux.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Désolé je ne peux pas mettr emon code sur le forum, boulot oblige...

    mais j'ai pu afficher ce que je voulant en disant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $compagnie = new compagnie();
    $animal = $compagnie->animal;
    $age = $animal[0]->age->txt;
    car la l'objet animal fait partie de la classe compagnie

Discussions similaires

  1. [PHP 5.4] Impossible de lire un tableau d'objets stocké dans $_SESSION
    Par Leilou dans le forum Langage
    Réponses: 2
    Dernier message: 02/11/2013, 12h43
  2. Réponses: 2
    Dernier message: 09/04/2008, 11h42
  3. [POO] Tableau d'objets
    Par Arnaud F. dans le forum Langage
    Réponses: 2
    Dernier message: 08/06/2007, 16h01
  4. [POO] Transmettre un tableau d'objet
    Par slyfer dans le forum Langage
    Réponses: 3
    Dernier message: 16/01/2007, 12h00
  5. [POO] Tableau d'objets B dans une instance de class A
    Par Invité dans le forum Langage
    Réponses: 4
    Dernier message: 24/05/2006, 09h52

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