Класс lmbArrayDataset используется в случах, когда нужно представить массив данных (вернее массив ассоцивных массивов) в виде итератора.
$data = array ( array ('username' => 'jdoe', 'email' => 'jdoe@hotmail.com'), array ('username' => 'rsmith', 'email' => 'rsmith@cure.org'), array ('username' => 'nclark', 'email' => 'nclark@yahoo.com'), ); $iterator = new lmbArrayDataSet($data);
Метод lmbArrayDataSet :: current() возвращает объект класс lmbDataspace, содержащий данные очередного элемента массива. То есть:
$iterator = new lmbArrayDataSet($data); $iterator->rewind(); $dataspace = $iterator->current(); echo $dataspace->get('username') . ' ' . $dataspace->get('email');
Выведет : jdoe jdoe@hotmail.com
В качестве данных в lmbArrayDataset можно прислать массив объектов класса lmbDataspace или любых других, которые поддерживают интерфейс lmbDatasource:
$data = array ( new lmbDataspace(array('username' => 'jdoe', 'email' => 'jdoe@hotmail.com')), new lmbDataspace(array('username' => 'rsmith', 'email' => 'rsmith@cure.org')), new lmbDataspace(array('username' => 'nclark', 'email' => 'nclark@yahoo.com')), ); $iterator = new lmbArrayDataSet($data);
Кроме методов, характерных для интерфейса итератора lmbArrayDataset поддерживаем след. методы: