PHP 클래스의 Iterator 패턴 샘플 코드에 대한 자세한 설명

黄舟
풀어 주다: 2023-03-06 21:30:01
원래의
1166명이 탐색했습니다.

이것은 내장된 인터페이스PHP의 Iterator에 관한 것입니다. PHP5는 인터페이스를 지원하기 시작하고 내장된 Iterator 인터페이스를 갖습니다. A 클래스를 정의하고 Iterator 인터페이스를 구현하면 클래스객체는 ZEND_ITER_OBJECT이고 그렇지 않으면 ZEND_ITER_PLAIN_OBJECT입니다.

ZEND_ITER_PLAIN_OBJECT 클래스의 경우 foreach는 HASH_OF를 통해 객체의 기본값을 가져옵니다. Attributearray를 수행한 다음 해당 배열에 대해 foreach를 수행합니다.
ZEND_ITER_OBJECT 클래스 개체의 경우 해당 개체가 구현한 Iterator 인터페이스 관련 함수를 호출하여 foreach를 수행합니다. , 이에 대한 필기 시험 문제의 경우 다음과 같이 답변할 수 있습니다.

<?php
class sample implements Iterator
{
private $_items = array(1,2,3,4,5,6,7);

public function __construct() {
     ;//void
}
public function rewind() { reset($this->_items); }
public function current() { return current($this->_items); }
public function key() { return key($this->_items); }
public function next() { return next($this->_items); }
public function valid() { return ( $this->current() !== false ); }
}

$sa = new sample();
foreach($sa as $key => $val){
print $key . "=>" .$val;
}
?>
로그인 후 복사

위 내용은 PHP 클래스의 Iterator 패턴 샘플 코드에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿