2012-07-05 22 views
0

我在考慮AccessArray接口和Iterator接口,我在想我們可以合併它們嗎?,我的意思是使用AccessArray設置數組並使用Iterator的foreach循環,如果可以有人可以幫助我舉例說明如果可以將這兩者結合起來。帶迭代器接口的PHP,SPL,AccessArray接口

回答

2

請注意,您基本上要求ArrayObject

class Foo extends ArrayObject 
{ 
    private $data = []; 
    public function __construct() 
    { 
    parent::__construct($this->data); 
    } 
} 
+0

'ArrayObject'附加'可序列化的','可數'而不是'Iterator''IteratorAggregate'和'Traversable'。 OP_maybe_不希望這樣,但必須說:不要這麼想。 – KingCrunch 2012-07-05 21:52:22

+0

是的,這絕對比他明確要求的要多,但我經常看到人們最終重新實現ArrayObject,因爲他們不知道它存在。 – Matthew 2012-07-05 21:57:39

+0

謝謝馬修,因爲你我理解內在行爲的概念,再次感謝你,祝你有美好的一天。 – 2012-07-06 07:15:11

2
class Foo implements ArrayAccess, Iterator { 
    // Implement interfaces here 
} 

您可以實現儘可能多的接口,只要你喜歡。