AccessArray 인터페이스와 Iterator 인터페이스에 대해 생각해 보았습니다. 조합 할 수 있을지 생각하고 있었습니까? AccessArray로 배열을 설정하고 Iterator에서 foreach 루프를 사용하면됩니다. 어떤 사람들은 그 두 가지를 결합 할 수 있다면 예를 들어 도와주세요.PHP, SPL, Iterator 인터페이스가있는 AccessArray 인터페이스
0
A
답변
2
기본적으로 ArrayObject
을 요구한다는 점에 유의하십시오.
class Foo extends ArrayObject
{
private $data = [];
public function __construct()
{
parent::__construct($this->data);
}
}
2
class Foo implements ArrayAccess, Iterator {
// Implement interfaces here
}
원하는만큼 많은 인터페이스를 구현할 수 있습니다.
'Iterator'' IteratorAggregate'와'Traversable' 대신에'SerialObject','Countable','Countable'가 추가되었습니다. OP _maybe_는 이것을 원하지 않지만 다음과 같이 말해야합니다. – KingCrunch
그래, 그가 명시 적으로 요구 한 것 이상이지만, 사람들이 궁극적으로 그것이 ArrayObject가 존재 하는지를 모르기 때문에 그것을 재 구현하는 것을 종종 봅니다. – Matthew
매튜, 당신 때문에 내가 개념을 이해한다면 빌트인 행동, 다시 한번 감사하고 좋은 하루 되세요. –