Zend_Db_Table_Row is an object. if you call fetchAll() it will return an array of Objects type Zend_Db_Table_Row (the column names are protected variables, accessed $row->column). If you call fetchRow() it will return a single Zend_Db_Table_Row object.
for example:
//assume we are working inside a Application_Model_DbTable_
public function fetch() {
$select = $this->select();
//here $result would return an array of Row objects that can be iterated over using a foreach
$result = $this->fetchAll($select);
//here we would return a single Row Object
$select->where('id = ?', $id);
$result = $this->fetchRow($select);
//you can call toArray() on these objects if you need an array
$array = $result->toArray();
}
//if you are using these objects in your application you can always access any of the
//columns using normal object syntax, without the underscores.
$id = $result->id;
$name = $result->name;
You may have some different behavior if you are using Zend_Db_Adapter or Zend_Db_Statement to make queries.
I hope I understood your question correctly.