С помощью этого интерфейса можно работать с объектом, как с массивом, т.е. без стрелочек, и обращаться как к элементам массива через квадратные скобки [ ]. Синтаксис интерфейса ArrayAccess:
interface ArrayAccess { public function offsetExists($offset); //да или нет punlic function offsetSet($offset, $value); //что-то выставляет public function offsetGet($offset); //что-то получаем public function offsetUnset($offset); //удаление }
Рассмотрим на рабочем примере:
class Book implements ArrayAccess { //имплементация ArrayAccess public $title; public $author; public $isbn; function offsetExists($item){ //проверяем: да или нет return isset($this->$item);} function offsetUnset($item){ //удаляем unset ($this->$item);} function offsetSet($item, $value){ //устанавливаем значение $this->$item =$value;} function offsetGet($item){ //что-то возвращаем return $this->$item;} } $book = new Book(); $book['title'] = 'PHP5'; //обращаемся c объектом как с элементом массива