SplObjectStorage::current

現在のストレージの要素を返す

説明

public object SplObjectStorage::current()

現在のストレージの要素を返します。

パラメータ

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

戻り値

現在のイテレータの位置にあるオブジェクトを返します。

変更履歴

バージョン 説明
8.1.0 SplObjectStorage::current は、 現在の位置が不正な場合、 Error をスローするようになりました。 これより前のバージョンでは、 false を返していました。

例1 SplObjectStorage::current の例

<?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::rewind
  • SplObjectStorage::key
  • SplObjectStorage::next
  • SplObjectStorage::valid
  • SplObjectStorage::getInfo