From b61ba7c920c0199f17480e19cccef03153e3123c Mon Sep 17 00:00:00 2001 From: rMalie Date: Thu, 15 Dec 2011 16:48:20 +0000 Subject: [PATCH] // Browse collections as associative arrays and not as iterative arrays anymore --- classes/Collection.php | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/classes/Collection.php b/classes/Collection.php index 744d1a046..07a2a5531 100644 --- a/classes/Collection.php +++ b/classes/Collection.php @@ -57,11 +57,6 @@ class CollectionCore implements Iterator, ArrayAccess, Countable */ protected $results = array(); - /** - * @var int Current object iteration - */ - protected $iterator = 0; - /** * @var bool Is current collection already hydrated */ @@ -160,18 +155,19 @@ class CollectionCore implements Iterator, ArrayAccess, Countable */ public function rewind() { - $this->iterator = 0; $this->getAll(); + reset($this->results); } /** * Get current result * * @see Iterator::current() + * @return ObjectModel */ public function current() { - return $this->results[$this->iterator]; + return current($this->results); } /** @@ -182,7 +178,7 @@ class CollectionCore implements Iterator, ArrayAccess, Countable */ public function valid() { - return isset($this->results[$this->iterator]); + return (bool)current($this->results); } /** @@ -193,7 +189,7 @@ class CollectionCore implements Iterator, ArrayAccess, Countable */ public function key() { - return $this->iterator; + return key($this->results); } /** @@ -203,7 +199,7 @@ class CollectionCore implements Iterator, ArrayAccess, Countable */ public function next() { - $this->iterator++; + next($this->results); } /** @@ -273,6 +269,7 @@ class CollectionCore implements Iterator, ArrayAccess, Countable */ public function offsetUnset($offset) { + $this->getAll(); unset($this->results[$offset]); } } \ No newline at end of file