Implement ArrayAccess interface for conveniently accessing rcube_result_set as array

pull/181/head
Thomas Bruederli 10 years ago
parent 56be9c50ea
commit 2f43fe94cb

@ -25,7 +25,7 @@
* @package Framework
* @subpackage Addressbook
*/
class rcube_result_set implements Iterator
class rcube_result_set implements Iterator, ArrayAccess
{
public $count = 0;
public $first = 0;
@ -61,6 +61,34 @@ class rcube_result_set implements Iterator
$this->current = $i;
}
/*** Implement PHP ArrayAccess interface ***/
public function offsetSet($offset, $value)
{
if (is_null($offset)) {
$offset = count($this->records);
$this->records[] = $value;
}
else {
$this->records[$offset] = $value;
}
}
public function offsetExists($offset)
{
return isset($this->records[$offset]);
}
public function offsetUnset($offset)
{
unset($this->records[$offset]);
}
public function offsetGet($offset)
{
return $this->records[$offset];
}
/*** PHP 5 Iterator interface ***/
function rewind()

Loading…
Cancel
Save