객체 반복

객체 반복 (Object Iteration)

이 페이지에서는 foreach 문 등으로 객체의 항목들을 반복할 수 있게 객체를 정의하는 방법을 알아봐요. 기본적으로 모든 가시적인 프로퍼티가 반복에 사용됩니다.

출처: PHP: Object Iteration - Manual

본문

PHP는 객체를 정의해서, 예를 들어 foreach 문으로 항목 목록을 반복할 수 있게 하는 방법을 제공합니다. 기본적으로 모든 가시적(visible) 프로퍼티가 반복에 사용됩니다.

예제 #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();

?>

위 예제는 다음과 같이 출력됩니다.


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

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

출력에서 볼 수 있듯이 foreach는 접근할 수 있는 모든 가시적(visible) 프로퍼티를 반복했어요.

더 알아보기