PHP 8.4.0 RC4 available for testing

SplObjectStorage::getInfo

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplObjectStorage::getInfoイテレータの現在のエントリに関連づけられたデータを返す

説明

public SplObjectStorage::getInfo(): mixed

イテレータの現在の位置が指すオブジェクトに関連づけられたデータあるいは情報を返します。

パラメータ

この関数にはパラメータはありません。

戻り値

イテレータの現在の位置に関連づけられたデータを返します。

例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"

参考

add a note

User Contributed Notes 1 note

up
0
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
)
To Top