ArrayObject::offsetGet

(PHP 5 >= 5.0.0, PHP 7)

ArrayObject::offsetGetВозвращает значение по указанному индексу

Описание

public mixed ArrayObject::offsetGet ( mixed $index )

Список параметров

index

Индекс, ссылающийся на значение.

Возвращаемые значения

Значение по указанному индексу или NULL.

Ошибки

Вызывает ошибку уровня E_NOTICE, если указанный индекс не существует.

Примеры

Пример #1 Пример использования ArrayObject::offsetGet()

<?php
$arrayobj 
= new ArrayObject(array('zero'7'example'=>'e.g.'));
var_dump($arrayobj->offsetGet(1));
var_dump($arrayobj->offsetGet('example'));
var_dump($arrayobj->offsetExists('notfound'));
?>

Результат выполнения данного примера:

int(7)
string(4) "e.g."
bool(false)

Коментарии

Автор:
If you're overloading ArrayObject, it's worth noting that while this method (when implemented by the parent) will return a reference, so code like $fakeArray['foobar']['hello'] = 1; will work like you expect.

However, when you overload the offsetGet method, you CANNOT define it as &offsetGet, so the above code falls out (because it returns the 'foobar' variable before you actually work with it).

This is something that the developers broke between 5.0 and 5.1, and was closed as bogus (http://bugs.php.net/bug.php?id=34783). So this is not a big, or question, or request, but just something worth noting.
2007-11-30 05:01:55
http://php5.kiev.ua/manual/ru/arrayobject.offsetget.html
Автор:
Speaking of offsetGet() method overloading, be advised, that if you're iterating through Object via foreach, this method wouldn't be called. Iterator's current() method will be called instead.
2009-01-20 05:58:16
http://php5.kiev.ua/manual/ru/arrayobject.offsetget.html
Автор:
It's worth noting that the PHP devs *did* fix the issue brought up in Sam's comment in 2013 (per the comment thread in his link here: https://bugs.php.net/bug.php?id=34783#1366088374), since at least PHP 5.3.8.

So, you *can* (and in most cases should) overload offsetGet with reference syntax to get expected functionality:

<?php
class myArrayType extends ArrayAccess {

    public function &
offsetGet($index) {
       
// ...
   
}

}
?>
2016-04-11 17:43:48
http://php5.kiev.ua/manual/ru/arrayobject.offsetget.html

    Поддержать сайт на родительском проекте КГБ