## Iteração de Objetos

O PHP fornece uma maneira de definir objetos para que seja possível iterar por uma lista de itens, como, por exemplo, a instrução `foreach`. Por padrão, todas as propriedades visíveis serão utilizadas para a iteração.

Exemplo #1 Iteração simples de objetos

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

        protected $protected = 'protected var';
        private   $private   = 'private var';

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

    ?>

O exemplo acima produzirá:

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

    MyClass::iterateVisible:
    var1 => valor 1
    var2 => valor 2
    var3 => valor 3
    protected => protected var
    private => private var

Como a saída mostra, o `foreach` passou por cada uma das variáveis visíveis que podem ser acessadas.

### Veja Também

- Generators
- Iterator
- IteratorAggregate
- SPL Iterators

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