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