## Итераторы объектов

PHP предоставляет такой способ объявления объектов, который даёт возможность пройти по списку элементов данного объекта, например, с помощью оператора `foreach`. По умолчанию, в этом обходе (итерации) будут участвовать все видимые свойства объекта.

Пример #1 Итерация простого объекта

    <?php
    class MyClass
    {
        public $var1 = 'значение 1';
        public $var2 = 'значение 2';
        public $var3 = 'значение 3';

        protected $protected = 'защищённая переменная';
        private   $private   = 'закрытая переменная';

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

    ?>

Результат выполнения приведённого примера:

    var1 => значение 1
    var2 => значение 2
    var3 => значение 3

    MyClass::iterateVisible:
    var1 => значение 1
    var2 => значение 2
    var3 => значение 3
    protected => защищённая переменная
    private => закрытая переменная

Как показывает результат, `foreach` проитерировал все доступные и принадлежащие объекту видимые свойства.

### Смотрите также

- Генераторы
- Iterator
- IteratorAggregate
- Итераторы

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