⊗ppPmRcEP 218 of 447 menu

PHPでのパラメータ付き再帰

再帰を使って、配列の要素を順番に出力してみましょう。 最初に配列が関数のパラメータとして渡されるとします:

<?php func([1, 2, 3]); ?>

まず、再帰なしで、関数 array_shift を使って配列のすべての要素を次々に出力してみましょう:

<?php function func($arr) { var_dump(array_shift($arr)); // 1 を出力 var_dump($arr); // [2, 3] を出力 - 配列が縮小 var_dump(array_shift($arr)); // 2 を出力 var_dump($arr); // [3] を出力 - 配列が縮小 var_dump(array_shift($arr)); // 3 を出力 var_dump($arr); // [] を出力 - 配列が空 } func([1, 2, 3]); ?>

ご覧の通り、関数 array_shift は配列の最初の要素を切り取って返し、 その際に配列自体からその要素が削除されます。

では、再帰を使ってみましょう:

<?php function func($arr) { var_dump(array_shift($arr)); var_dump($arr); if (count($arr) !== 0) { func($arr); } } func([1, 2, 3]); ?>

実際には、もちろん、配列の要素をループで反復処理する方が簡単です。 上記の例は、単純な(実用的でない)例で再帰の動作を示しているだけです。 再帰のより有益な使用例は単にもっと複雑なものであり、 それについては後ほど詳しく説明します。

以下の配列があります:

<?php $arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5]; ?>

再帰を使って、この配列の要素を画面に表示してください。

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否