Object Iteration

Оновлено: 11.05.2023

PHP надає можливість визначати об'єкти таким чином, щоб можна було ітераційно перебирати список елементів, наприклад, за допомогою оператора foreach. За замовчуванням, всі видимі властивості будуть використані для ітерації.

Приклад #1 Проста ітерація об'єктів

<?php
class MyClass
{
    public $var1 = 'value 1';
    public $var2 = 'value 2';
    public $var3 = 'value 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();

?>

Як показано на виході, foreach перебрав усі видимі властивості, до яких можна було отримати доступ.

Генератори Ітератор IteratorAggregate SPL-ітератори