【PHP8.x】getMaxDepthメソッドの使い方

getMaxDepthメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

『getMaxDepthメソッドは、RecursiveTreeIteratorオブジェクトが反復処理を行う際の、最大の深さ(階層)を取得するメソッドです。RecursiveTreeIteratorは、配列やオブジェクトのような階層構造を持つデータを木構造として走査しますが、その際にどこまで深い階層までたどるかを制限することができます。このメソッドは、setMaxDepthメソッドによって事前に設定された、その階層の深さの上限値を取得します。戻り値は整数型(int)であり、現在設定されている深さの最大値を返します。もしsetMaxDepthが呼び出されていない場合や、深さに制限を設けないように明示的に設定されている場合、このメソッドは -1 を返します。この特別な値 -1 は、深さに制限がなく、イテレータがすべての階層を再帰的にたどることを意味します。このメソッドを利用することで、現在のイテレータに適用されている深さの制限をプログラムの実行中に確認することが可能になります。

構文(syntax)

1<?php
2
3// 再帰的なイテレータを作成
4$iterator = new RecursiveArrayIterator(['a', ['b', 'c']]);
5
6// ツリーイテレータを作成
7$treeIterator = new RecursiveTreeIterator($iterator);
8
9// イテレーションの最大深度を 1 に設定
10$treeIterator->setMaxDepth(1);
11
12// 設定された最大深度を取得
13$maxDepth = $treeIterator->getMaxDepth();
14
15// 取得した最大深度を出力
16var_dump($maxDepth);
17
18?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

int

このメソッドは、現在イテレータが参照しているツリー構造の最大深度を表す整数値を返します。