Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/05/2008, 16h41   #1
Nouveau Membre du Club
 
Étudiant
Inscription : mai 2007
Messages : 143
Détails du profil
Informations personnelles :
Âge : 25

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2007
Messages : 143
Points : 35
Points : 35
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
Mehdib92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2008, 16h50   #2
Membre éclairé
 
Inscription : mai 2008
Messages : 359
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 359
Points : 397
Points : 397
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] ?
Tsilefy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2008, 17h15   #3
Nouveau Membre du Club
 
Étudiant
Inscription : mai 2007
Messages : 143
Détails du profil
Informations personnelles :
Âge : 25

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2007
Messages : 143
Points : 35
Points : 35
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 :
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.
Mehdib92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2008, 19h16   #4
Membre éclairé
 
Inscription : mai 2008
Messages : 359
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 359
Points : 397
Points : 397
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 :
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.
Tsilefy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2008, 16h49   #5
Nouveau Membre du Club
 
Étudiant
Inscription : mai 2007
Messages : 143
Détails du profil
Informations personnelles :
Âge : 25

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2007
Messages : 143
Points : 35
Points : 35
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 :
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
Mehdib92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h26.


 
 
 
 
Partenaires

Hébergement Web