Parcours d'objets

PHP fournit une manière de définir les objets de manière à ce qu'on puisse parcourir une liste de membres, par exemple avec une structure foreach. Par défaut, toutes les propriétés visibles seront utilisées pour le parcours.

Exemple #1 Parcours d'objet simple

<?php
class MyClass 
{
  public 
$var1 'valeur 1';
  public 
$var2 'valeur 2';
  public 
$var3 'valeur 3';

  protected 
$protected 'variable protégée';
  private   
$private   'variable privée';

  function 
iterateVisible() {
     echo 
"MyClass::iterateVisible:\n";
     foreach (
$this as $key => $value) {
         print 
"$key => $value\n";
     }
  }
}

$class = new MyClass();

foreach(
$class as $key => $value) {
    print 
"$key => $value\n";
}
echo 
"\n";


$class->iterateVisible();

L'exemple ci-dessus va afficher :

var1 => valeur 1
var2 => valeur 2
var3 => valeur 3

MyClass::iterateVisible:
var1 => valeur 1
var2 => valeur 2
var3 => valeur 3
protected => variable protégée
private => variable privée

Comme le montre la sortie, l'itération foreach a traversé toutes les propriétés visibles qui ont pu être accédées.