広告スペース(バナー)
🐘PHP レッスン
基本文法の基礎8
データ構造とオブジェクト指向7
構文の基本を深める9
関数とデータ構造の応用9
アルゴリズムとテストの基礎8
文字列・数値操作の応用8
実務で役立つ機能8
アルゴリズム練習問題10
レッスン 12 / 68

再帰関数

このレッスンでは、PHPで再帰関数を書く方法を学び、自分自身を呼び出す関数の基本的な考え方を理解することを目標にします。「PHP 再帰関数 使い方」で調べている方向けの内容です。

再帰関数は、自分自身を呼び出す関数です。「n! = n × (n-1)!」のような、同じ計算パターンを繰り返す処理に向いています。終わる条件を必ず用意しないと、無限に自分自身を呼び続けてプログラムが異常終了してしまうので注意が必要です。

サンプルコードでは、factorial関数が$n <= 1という終了条件に達するまで、$n * factorial($n - 1)という形で自分自身を呼び出し続けています。5の階乗を計算する過程を、実際に1つずつ書き出しながら追ってみると理解が深まります。

初心者がよくつまずくのが、終了条件を書き忘れて無限に自分自身を呼び出し続けてしまうミスです。深すぎる再帰はスタックを大量に消費するため、ループで書き換えられないか検討することも大切です。再帰の深さがどのくらいまで安全かは、環境によっても異なります。

実際の開発現場では、階層構造を持つデータ(フォルダやコメントの返信構造など)を処理する際に、再帰関数の考え方がよく使われます。仕組みを一度理解しておくと、応用範囲の広い重要なテクニックです。

📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください

🧪 このサイトではPHPを直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。

🎯
ここまでできればゴール達成!
階乗のような、自分自身を呼び出して計算する処理が作れるようになります。
広告スペース(バナー)
広告スペース(記事内)