記事の内容
この記事では、通常の再帰やarray_mapを使った再帰を説明します。
PHPのバージョンは、7系です。
再帰とは何か?
再帰とは、「もう一度帰ってくる」「再び帰る」という意味です。
再帰関数とは文字通り、自分自身を繰り返し呼び出して実行する関数です。
言葉より、実際のコードを見た方が理解できるかもしれません。
再帰のコード
この例では、recursive関数の中で、recursiveを呼び出しています。
引数が変わって、以下の順序で呼び出されています。
デバッグ情報を見ながら、丁寧に処理を読んでみて下さい。
- recursive(5);実行結果 → 120(24 × 5の結果)
- recursive(4);実行結果 → 24(6 × 4の結果)
- recursive(3);実行結果 → 6(2 × 3の結果)
- recursive(2);実行結果 → 2(1 × 2の結果)
- recursive(1);実行結果 → 1
array_mapを使った再帰
array_mapは、自分で定義した関数を渡すことで、自分が行いたい操作を配列に行うことができます。
例えば、「配列の値を全て2倍にしたい」ということができます。
ここでは、再帰的にarray_mapを使用します。
少し難しいですが、デバッグ情報を見ながら、丁寧に処理を読んでみて下さい。