BLOG

【PHP学習】繰り返し処理(ループ処理)と配列を学んですっきりしたコードを書こう!

2022-11-09
どうもロックシステムのコジです!
Youtubeで配信しているPHPの基礎学習シリーズも大詰めの8回目です。今回のテーマは「繰り返し処理(ループ処理)」について学びます!

・繰り返し処理とは?

繰り返し処理はループ処理とも言われていて、決まった回数や条件の処理を何度も書かずに少ない行で書けるとっても便利な処理です。
例えば1から20までの数字に+100をした値を表示したい場合、一つ一つの処理を書いていては大変です。
繰り返し処理を使えば以下のような長ーいコードが短く簡潔に書くことができます!

  echo(1+100);
  echo(2+100);
   echo(3+100);
  echo(4+100);
  echo(5+100);
  echo(6+100);
  echo(7+100);
  echo(8+100);
  echo(9+100);
  echo(10+100);     
  echo(11+100);
  echo(12+100);
  echo(13+100);
  echo(14+100);
  echo(15+100);
  echo(16+100);
  echo(17+100);
  echo(18+100);
  echo(19+100);
  echo(20+100);

こんなコードが繰り返し処理を使えばこれだけ!!

  for($i = 0;$i <= 20;$i++){
     echo($i+100);
   }

20行が3行にすっきりまとまりましたね。
エンジニアにとって、短く簡潔に分かりやすいコードを書くことはとても重要なことです!是非マスターしましょう!

繰り返し処理を学ぶ前に大事な「配列」を学ぶ

繰り返し処理を学ぶためにまず「配列(array)」という変数を理解しましょう。
配列とは一つの変数名に対して複数の値を入れることができます。
これも効率的なコードを書くためにはとても大事ですね。
例えばたくさん値が必要なときにそのたびに変数を定義しなくちゃならないのは面倒です、、
一つ一つ変数を定義する書き方
$a = 値1; 
$b = 値2;
$c = 値3;
$d = 値4;
  配列を使うことで大量の値を扱いたいときに一つの変数にまとめることで何度も変数を定義しなくてよくなります。
PHPでの配列の書き方

$変数 = array(値1,値2,値3,値4);
又は
 $変数 = [値1,値2,値3,値4];

どちらも同じ意味です。
さらに配列に値を格納したら以下のように0から順に要素番号が振られるのを覚えておきましょう!
0番目 ⇒ 値1
1番目 ⇒ 値2
2番目 ⇒ 値3
3番目 ⇒ 値4
値を取り出すときは要素番号を使ってこう書くことで取得できます。
$変数 = array(値1,値2,値3,値4);

値1を取り出したいたい場合
↓
$変数[0]
配列には連想配列というのもあって以下のように配列の中にkeyとvalueの関係で格納できます。
 $変数 = array(
     {key => value},
     {key => value}
  );

↓例

 $変数 = array(
     {one => 値1},
     {two => 値2}
  );

↓値2を取り出す場合

 $変数[two]
前述した配列はインデックス配列と言われは 0 から付与される数値です。 連想配列の「キー」は任意の文字列です。簡単に言えば「キー」が数値か文字列かの違いです。
動画では配列、本題の繰り返し処理の書き方、使い方等くわしく紹介しています! 是非ご覧ください!

今回使用したコードはこちら!

■for文の参考コード
  for ($i = 0; $i < 5; $i++) {
      echo($i . "回目! ");
  }
 $kudamono = ["りんご", "ばなな", "ぶどう", "マンゴー", "いちご"];

  for ($i = 0; $i < 5; $i++) {
      echo($kudamono[$i] . "\n");
  }
■foreach文の参考コード
 $kudamono = ["りんご", "ばなな", "ぶどう", "マンゴー", "いちご"];
   foreach ($kudamono as $name){
    echo($name . "!!");
   }

株式会社ロックシステム

「ブラック企業をやっつけろ!!」を企業理念にエンジニアが働きやすい環境をつきつめる大阪のシステム開発会社。2014年会社設立以来、残業時間ほぼゼロを達成し、高い従業員還元率でエンジニアファーストな会社としてIT業界に蔓延るブラックなイメージをホワイトに変えられる起爆剤となるべく日々活動中!絶賛エンジニア募集中。