Вопрос по ArrayAccessImpl

Духовность™

Продвинутый новичок
Вопрос по ArrayAccessImpl

Переписываю свои наработки. В мане есть пример многоуровневого ArrayAccess: http://www.php.net/manual/en/language.oop5.iterations.php#81508

Не понимаю, почему автор класса данный метод проверки существования значения пишет так:

Код:
public function offsetExists($index)
{
    if(isset($this->data[$index])) {
        if($this->data[$index] instanceof ArrayAccessImpl) {
            [b]if(count($this->data[$index]->data)>0)
                return true;
            else
                return false;[/b]
        } else
            return true;
    } else
        return false;
}
В упор не понимаю, почему отсутствие каких-либо значений в массиве автор расценивает как !isset ?

Может кто мне объяснит?
 

Духовность™

Продвинутый новичок
Мы на разных волнах общаемся. Перефразирую вопрос: почему имея пустой массив, в интерпретации автора класса, метод проверки offsetExists возвращает false?

Я думаю, что вышеприведенный метод должен иметь такой код:

Код:
public function offsetExists($index)
{
    return isset($this->data[$index]);
}
 

StUV

Rotaredom
видимо, при обходе массива листья типа "импл без элементов" можно считать пустыми (в данном случае, сразу "отсутствующими").

-~{}~ 27.07.09 15:59:

зы: см. определение offsetGet
 
Сверху