1
0

More than 3 years have passed since last update.

繰り返し処理【PHP】

Last updated at Posted at 2021-08-22

こんにちは
PHP初心者です。
今回は繰り返し処理についてメモしていきます!

while

while構文はある条件が満たされるまで
処理を繰り返すことができます。

書き方としては

初期化処理
while(繰り返す条件) {
   繰り返したい処理
      更新処理
}

というカンジで例を出すと、
以下のような記述になります。

$i = 1;
while ($i <= 100) {
  print($i . "\n");
  $i += 1
}

初期化処理は$i = 1にあたります。
変数iに1を代入したんですね。
繰り返す条件は($i <= 100)
これは$iが100以下であれはtrueとなり、
中かっこ{}の中身の処理を行います。

処理が行われる順番としては
1. $i = 1を定義
2. ($i <= 100)がtrueかどうか判断
3. 2がtrueになるのであれば、$iの値を出力
4. $iに1を加算

この順番で$i =100になるまで繰り返されます。

比較演算子<=が出てきたのでごめん思い出したから
関係ないけどアウトプットさせてね。

RubyだとAとBが等しい時

A == B

と記述するけど

PHPだと

A === B

ってするらしい。

あと、Rubyでは自己代入演算子って言われてるこれなんやけど、
PHPでも使えるとのこと(PHPでは代入演算子というらしいけど)。
PHPでは1を代入するときだけ、さらに省略した書き方ができるらしい。

$num += 1
$num++;
$num--;

for

なんか本題とそれたメモばっかり増えたな。

for構文の書き方テンプレは以下の通り


for(初期化処理; 繰り返す条件; 更新処理) {
  繰り返したい処理
}

for ($i=1; $i<= 100; $i++) {
  print($i . "\n")
}

例もついでに載せました。
さっそく1を代入する省略する処理を使いましたわ!

whileよりforで繰り返し処理を記述する方が記述が少なくなって
さっぱりする印象を受けますね。

ただ単にシンプルな処理を繰り返したいときはfor構文を使用すればいいのですが、
初期化処理や、更新処理が複雑なケースはwhile構文を使った方がいいとのことです。
理由はまだ知らないけどね〜〜!!

foreach

配列や連想配列(Rubyでいうところのハッシュ)を繰り返して
取り出したいときはforeach構文を使用します。
まあ配列専用の構文ですわ。

<?php 
$powerful_shaman = [ 
  "name" => "五条悟",
  "age" => "28",
  "magic" => "無下限呪術",
  "rank" => "特急呪術師",
  "special_skill" => "無量空処"
];

foreach ($powerful_shaman as $profile => $val) {
  print($profile . ":". $val . "\n");
}
?>

連想配列にforeach構文を使用してみました。
foreachの$profile => $valの部分は
名前なんでなんでもいいです。
例えば、$profileには、
"name"、"age"、 "magic"、 "rank"、 "rank"が代入されており、
$valには、
"五条悟" 、"28"、 "無下限呪術"、 "特急呪術師"、 "無量空処"が
代入されています。

よってこれを出力すると、
スクリーンショット 2021-08-22 18.45.52.png

五条先生のプロフィールが帰ってきます。

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0