while ($Objet = current($this->_listePersonnes)) { if ($Objet->description_age() >= 18) { $n++; } next($this->_listePersonnes); } return $n; } public function listePersonnes() { $reference = $this->_listePersonnes; return $reference; } } $D1 = new Description(18, 70); $D2 = new Description(6, 25); $P1 = new Personne('A', 'aa', $D1); $P2 = new Personne('B', 'bb', $D2); $Voiture = new Voiture(); $Voiture->ajouterPersonne($P1)->ajouterPersonne($P2); echo '<h1>Foreach parcour les Personnes dans la voiture</h1>'; foreach ($Voiture as $cle => $Personne) { echo $Personne->nom() . ' age : ' . $Personne->description_age() . '<br />'; } echo '<h1>Acces directement a une personne de la voiture par son index</h1>'; $Voiture->rewind(); var_dump($Voiture->current()); var_dump($Voiture->seek(1)); echo '<h1>Le curseur n\'est pas deplace par seek()</h1>'; echo 'key() renvoie : </p>'; var_dump($Voiture->key());