update : 2015.11.03
php.shukuma.com검색:
|
객체 순회PHP 5 에서는 객체를 리스트처럼 순회할수 있는 방법을 제공합니다. 예를 들면 foreach 구문입니다. 기본적으로, 가시적인 모든 프로퍼티를 순회 가능합니다. Example #1 간단한 객체 순회
<?php 위 예제의 출력: 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 를 통해 접근가능한 모든 가시적 프로퍼티를 순회합니다. 조금더 나아가, Iterator 인터페이스 를 구현할수도 있습니다. 그렇게 하면 객체로 하여금 어떤방식으로 순회하게 될지, 각 순회마다 어떤값을 가져올지를 정의할 수 있습니다. Example #2 Iterator 를 구현한 객체 순회
<?php 위 예제의 출력: rewinding valid: 1 current: 1 key: 0 0: 1 next: 2 valid: 1 current: 2 key: 1 1: 2 next: 3 valid: 1 current: 3 key: 2 2: 3 next: valid: IteratorAggregate 인터페이스 Iterator 의 모든 메서드를 구현하는 대신 다른 대안으로 사용될수 있습니다. IteratorAggregate 는 IteratorAggregate::getIterator() 메서드만 구현하면 되며, Iterator 를 구현한 클래스의 인스턴스를 반환해야 합니다. Example #3 IteratorAggregate 를 구현한 객체 순회
<?php 위 예제의 출력: rewinding current: value 1 valid: 1 current: value 1 key: 0 key/value: [0 -> value 1] next: value 2 current: value 2 valid: 1 current: value 2 key: 1 key/value: [1 -> value 2] next: value 3 current: value 3 valid: 1 current: value 3 key: 2 key/value: [2 -> value 3] next: current: valid:
|