@wideShift

Можно ли через foreach перебирать объект класса?

Скажем, в классе определить что вернется в foreach для перебора
$classObject = new MyClass();
foreach ($classObject as $item) {}
  • Вопрос задан
  • 86 просмотров
Решения вопроса 2
Nordic_Alf
@Nordic_Alf
PHP Developer
Да. Переберёт все публичные свойства.
А если надо ещё и протектед/приватные, то просто создай внутри класса метод с перебором всех свойств:

<?php
class MyClass
{
    public $public = 'значение 1';
    protected $protected = 'защищённая переменная';
    private $private   = 'закрытая переменная';

    public function iterateAll() {
       foreach ($this as $key => $value) {
           print "$key => $value\n";
       }
    }
}

$class = new MyClass();
$class->iterateAll();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы