SplObjectStorage::getInfo
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
SplObjectStorage::getInfo — イテレータの現在のエントリに関連づけられたデータを返す
パラメータ
この関数にはパラメータはありません。
戻り値
イテレータの現在の位置に関連づけられたデータを返します。
例
例1 SplObjectStorage::getInfo() の例
<?php
$s = new SplObjectStorage();
$o1 = new stdClass;
$o2 = new stdClass;
$s->attach($o1, "d1");
$s->attach($o2, "d2");
$s->rewind();
while($s->valid()) {
$index = $s->key();
$object = $s->current(); // current($s) と同等
$data = $s->getInfo();
var_dump($object);
var_dump($data);
$s->next();
}
?>
上の例の出力は、 たとえば以下のようになります。
object(stdClass)#2 (0) { } string(2) "d1" object(stdClass)#3 (0) { } string(2) "d2"
参考
- SplObjectStorage::current() - 現在のストレージの要素を返す
- SplObjectStorage::rewind() - イテレータをストレージの最初の要素に巻き戻す
- SplObjectStorage::key() - イテレータの現在位置を返す
- SplObjectStorage::next() - 次のエントリに移動する
- SplObjectStorage::valid() - イテレータの現在のエントリが有効かどうかを返す
- SplObjectStorage::setInfo() - イテレータの現在のエントリに関連づけるデータを設定する
+add a note
User Contributed Notes 1 note
Ye Wang ¶
14 years ago
This method, SplObjectStorage::getInfo() does NOT exist on PHP 5.2.13.
However, PHP 5.3.2 and above does have it. To find out yourself, use this snippet.
$> php -r "print_r(get_class_methods(new SplObjectStorage()));"
Results for PHP 5.2.13
====
Array
(
[0] => attach
[1] => detach
[2] => contains
[3] => count
[4] => rewind
[5] => valid
[6] => key
[7] => current
[8] => next
[9] => unserialize
[10] => serialize
)
Results for PHP 5.3.2
=====
Array
(
[0] => attach
[1] => detach
[2] => contains
[3] => addAll
[4] => removeAll
[5] => getInfo
[6] => setInfo
[7] => count
[8] => rewind
[9] => valid
[10] => key
[11] => current
[12] => next
[13] => unserialize
[14] => serialize
[15] => offsetExists
[16] => offsetSet
[17] => offsetUnset
[18] => offsetGet
)
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google