PHP Conference Japan 2024

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"

另請參閱

新增註解

使用者貢獻的註解 1 則註解

Ye Wang
14 年前
這個方法 SplObjectStorage::getInfo() 在 PHP 5.2.13 中不存在。

然而,PHP 5.3.2 及以上版本確實有這個方法。要自行確認,請使用以下程式碼片段。

$> php -r "print_r(get_class_methods(new SplObjectStorage()));"

PHP 5.2.13 的結果
====
陣列
(
[0] => attach
[1] => detach
[2] => contains
[3] => count
[4] => rewind
[5] => 有效
[6] => 鍵值
[7] => 目前
[8] => 下一個
[9] => 反序列化
[10] => 序列化
)

PHP 5.3.2 的結果
=====
陣列
(
[0] => attach
[1] => detach
[2] => contains
[3] => 加入全部
[4] => 移除全部
[5] => 取得資訊
[6] => 設定資訊
[7] => 計數
[8] => 重設
[9] => 有效
[10] => 鍵值
[11] => 目前
[12] => 下一個
[13] => 反序列化
[14] => 序列化
[15] => 偏移量是否存在
[16] => 設定偏移量
[17] => 取消設定偏移量
[18] => 取得偏移量
)
To Top