プログラミング、フリーダイビング、ブロックチェーンのブログ

プログラミング道場

【PHP入門】PHPの再帰について説明します

投稿日:

記事の内容


この記事では、通常の再帰やarray_mapを使った再帰を説明します。
PHPのバージョンは、7系です。

再帰とは何か?

再帰とは、「もう一度帰ってくる」「再び帰る」という意味です。
再帰関数とは文字通り、自分自身を繰り返し呼び出して実行する関数です。

言葉より、実際のコードを見た方が理解できるかもしれません。

再帰のコード

この例では、recursive関数の中で、recursiveを呼び出しています。
引数が変わって、以下の順序で呼び出されています。
デバッグ情報を見ながら、丁寧に処理を読んでみて下さい。

  1. recursive(5);実行結果 → 120(24 × 5の結果)
  2. recursive(4);実行結果 → 24(6 × 4の結果)
  3. recursive(3);実行結果 → 6(2 × 3の結果)
  4. recursive(2);実行結果 → 2(1 × 2の結果)
  5. recursive(1);実行結果 → 1

array_mapを使った再帰

array_mapは、自分で定義した関数を渡すことで、自分が行いたい操作を配列に行うことができます。
例えば、「配列の値を全て2倍にしたい」ということができます。
ここでは、再帰的にarray_mapを使用します。
少し難しいですが、デバッグ情報を見ながら、丁寧に処理を読んでみて下さい。

まとめ

この記事では、PHPの再帰処理について書きました。
再帰処理を上手く使えば、効率よくコードを書くこともできます。

Good luck for your engineer life!

PHPをより詳しく勉強したい人は、この記事を読んで下さい

PHPの学習でオススメの本と動画【2020年最新】

初心者向け【入門編】 いちばんやさしい PHP の教本 「いちばんやさしいシリーズ」のPHP版です。 とりあえず、PHPをさわって動かしてみたいという人には、オススメの本です。 WordPress 仕事の現場でサッと使える! PHPの勉強で ...

続きを見る


30代からプログラミングを始めようか迷っている人は、この記事を読んで下さい

30代からプログラミングを始めることは可能なのか?【頑張ればギリギリセーフ】

エンジニアは人気の職種だと聞いていますが、若い人達が多い印象です。 30代から始めても間にあいますか? 2030年には79万人のエンジニアが不足 まずは、今後、10年間以上に渡るエンジニアの需給について確認しましょう。 自分の身を預けたいと ...

続きを見る


プログラミングスクールに行くか迷っている人は、この記事を読んで下さい

なんとなく、エンジニアになりたい人が無料のプログラミングスクールに行くべき理由【2019年12月の最新】

有料や無料のプログラミングスクールが多すぎて、どこにしようか迷っています。 無料のプログラミングスクールは、お得そうに見えますが、実際の所はどうですか? メリットやデメリットなどがあれば教えて下さい。 無料のスクールを推す理由 まずは、私が ...

続きを見る


自分がプログラミングスクールに行っても大丈夫か知りたい人は、この記事を読んで下さい

プログラミングスクールに通って挫折する人と上手くいく人の違い

スクールに通っている人の3パターン プログラミングスクールに通っている人のパターンを整理すると、以下の3パターンに分かれます。 それぞれのタイプの特徴を、もう少し詳細に説明していきます。 それぞれのタイプの特徴 大した努力をせずに文句ばかり ...

続きを見る


ゼロからWebエンジニアになりたい人は、この記事を読んで下さい

ゼロからWebエンジニアとして就職する方法【何もない自分に積み上げていく】

ちまたには、「エンジニアになるための情報」で溢れかえっています。 ジョージさんが考える「Webエンジニアになる方法」を教えて下さい。 私が定義するWebエンジニア まず、最初に以下の図を見て下さい。 これが、Web業界で働く人達の大分類です ...

続きを見る


独学で実務っぽい経験を積みたい人は、この記事を読んで下さい

エンジニアが独学で実務経験っぽいことを学ぶ方法

エンジニアとして就職するためには実務経験が大事だと聞いていますが、就職しないことには実務経験を積むことができません。 どうやって、最初の実務経験を積んだらいいでしょうか? スクールの理想と現実 これからプログラミングを学ぼうとしている人が描 ...

続きを見る

関連コンテンツ

-PHP, プログラミング

Copyright© プログラミング道場 , 2020 All Rights Reserved Powered by AFFINGER4.