## Recorrido de objetos

PHP proporciona una manera de definir los objetos de manera que se pueda recorrer una lista de miembros, por ejemplo con una estructura `foreach`. Por omisión, todas las propiedades visibles serán utilizadas para el recorrido.

Ejemplo #1 Recorrido de objeto simple

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

      protected $protected = 'variable protegida';
      private   $private   = 'variable privada';

      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();

El ejemplo anterior mostrará:

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

    MyClass::iterateVisible:
    var1 => valor 1
    var2 => valor 2
    var3 => valor 3
    protected => variable protegida
    private => variable privada

Como muestra la salida, la iteración `foreach` recorrió todas las propiedades visibles que pudieron ser accedidas.

### Ver también

- Generators
- Iterator
- IteratorAggregate
- SPL Iterators

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open