SplObjectStorage::offsetGet

(PHP 5 >= 5.3.0, PHP 7)

SplObjectStorage::offsetGet Возвращает данные ассоциированные с объектом object

Описание

public mixed SplObjectStorage::offsetGet ( object $object )

Возвращает данные ассоциированные с объектом object.

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

object

Искомый объект object.

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

данные ассоциированные с объектом object.

Ошибки

Выбрасывает исключение UnexpectedValueException, если объект object не удалось найти.

Примеры

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

<?php
$s 
= new SplObjectStorage;

$o1 = new StdClass;
$o2 = new StdClass;

$s[$o1] = "hello";
$s->attach($o2);


var_dump($s->offsetGet($o1)); //  $s[$o1]
var_dump($s->offsetGet($o2)); //  $s[$o2]
?>

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

string(5) "hello"
NULL

Смотрите также

Коментарии

SplObjectStorage::offsetGet() can become EXTREMELY slow depending on the associated data (PHP 5.6).

<?php

// SplObjectStorage
$object = new stdClass;
$test = new SplObjectStorage;
$test->attach($objectstr_repeat("\0"1024*1024));
$start microtime(true);
for (
$i 0$i 1000000$i++) {
   
$test->offsetGet($object);
}
var_dump(microtime(true) - $start); // 76 seconds!

// Array + spl_object_hash()
$object = new stdClass;
$test = [];
$test[spl_object_hash($object)] =  str_repeat("\0"1024*1024);
$start microtime(true);
for (
$i 0$i 1000000$i++) {
   
$temp $test[spl_object_hash($object)];
}
var_dump(microtime(true) - $start); // 0.3 seconds
2015-07-10 16:47:14
http://php5.kiev.ua/manual/ru/splobjectstorage.offsetget.html
Автор:
The performance of SplObjectStorage in PHP7.0.7 has boosted a lot.

SplObjectStorage
double(1.3110690116882)
[object_hash => value]
double(2.4147419929504)
2016-06-03 09:58:56
http://php5.kiev.ua/manual/ru/splobjectstorage.offsetget.html

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