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