SplObjectStorage::key
(PHP 5 >= 5.1.0, PHP 7)
SplObjectStorage::key — イテレータの現在位置を返す
説明
public SplObjectStorage::key
( void
) : int
イテレータの現在位置を返します。
パラメータ
この関数にはパラメータはありません。
返り値
イテレータの現在位置に対応するインデックスを返します。
例
例1 SplObjectStorage::key() の例
<?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) と同等
var_dump($index);
var_dump($object);
$s->next();
}
?>
上の例の出力は、 たとえば以下のようになります。
int(0)
object(stdClass)#2 (0) {
}
int(1)
object(stdClass)#3 (0) {
}
参考
- SplObjectStorage::rewind() - イテレータをストレージの最初の要素に巻き戻す
- SplObjectStorage::current() - 現在のストレージの要素を返す
- SplObjectStorage::next() - 次のエントリに移動する
- SplObjectStorage::valid() - イテレータの現在のエントリが有効かどうかを返す