【PHP8.x】SplStack::current()メソッドの使い方
currentメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
currentメソッドは、SplStackオブジェクトのイテレータが現在指し示している要素を返すメソッドです。SplStackは、PHPの標準ライブラリ(Standard PHP Library、SPL)に含まれるクラスで、後入れ先出し(LIFO: Last In, First Out)の原則に従うスタックデータ構造を実装しています。このクラスは、SplDoublyLinkedListを基盤としており、通常のスタック操作(push、popなど)に加えて、イテレータとしての機能も持ち合わせています。
currentメソッドは、まさにこのイテレータとしての機能の一部であり、スタック内の要素を順に走査する際に利用されます。例えば、foreachループを使用してスタックの全要素を処理する場合、ループの各イテレーションでcurrentメソッドが自動的に呼び出され、現在位置にある要素の値が取得されます。イテレータの現在位置は、rewind()メソッドで最初にリセットしたり、next()メソッドで次の要素へ進めたりすることで制御できます。
このメソッドが返す値は、イテレータの現在位置にあるスタックの要素そのものです。スタックの一番上にある要素(トップ要素)を直接取得したい場合は、top()メソッドを使用するのが一般的ですが、currentメソッドはイテレータのコンテキストにおいて現在指している要素を提供します。これにより、スタックの内容を柔軟に参照し、処理することが可能になります。
構文(syntax)
1<?php 2$stack = new SplStack(); 3$stack->push("First Item"); 4$stack->push("Second Item"); 5$stack->rewind(); // ポインタをスタックの先頭にリセット 6$currentElement = $stack->current(); 7echo $currentElement; 8?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
mixed
SplStack の現在位置にある要素の値を返します。