. ======================================================================*/ require_once(dirname(__FILE__) . '/KjwResultSet.php'); /** @ingroup sql * * KjwArrayResultSet is a resultset class. * * This class takes an array as its input instead of an SQL result set resource. */ class KjwArrayResultSet extends KjwResultSet { var $_data; /**< The data array. */ var $_pointer; /**< The array pointer. */ /** * Construct a KjwArrayResultSet. * * @param $resultset An array of associative arrays (dictionaries). */ function KjwArrayResultSet($resultset) { assert(is_array($resultset)); parent::KjwResultSet(); $this->_pointer = 0; $this->_data = $resultset; // PHP5 copies arrays by default as well, no? } /* [INHERITED DOCS] */ function destroy() { unset($this->_data); unset($this->_pointer); parent::destroy(); } /* [INHERITED DOCS] */ function getNext() { if ($this->_pointer >= sizeof($this->_data)) return false; return $this->_data[$this->_pointer++]; } /* [INHERITED DOCS] */ function at() { return $this->_pointer; } /* [INHERITED DOCS] */ function size() { return sizeof($this->_data); } /* [INHERITED DOCS] */ function seekAbs($offset) { if($offset < 0 || $offset >= sizeof($this->_data)) return false; $this->_pointer = $offset; return true; } } ?>