Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【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 の現在位置にある要素の値を返します。

関連コンテンツ