こんにちは
PHP初心者です。
今回は繰り返し処理についてメモしていきます!
while
while構文はある条件が満たされるまで
処理を繰り返すことができます。
書き方としては
初期化処理
while(繰り返す条件) {
繰り返したい処理
更新処理
}
というカンジで例を出すと、
以下のような記述になります。
$i = 1;
while ($i <= 100) {
print($i . "\n");
$i += 1
}
初期化処理は$i = 1
にあたります。
変数iに1を代入したんですね。
繰り返す条件は($i <= 100)
これは$iが100以下であれはtrueとなり、
中かっこ{}の中身の処理を行います。
処理が行われる順番としては
- $i = 1を定義
- ($i <= 100)がtrueかどうか判断
- 2がtrueになるのであれば、$iの値を出力
- $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"、 "無下限呪術"、 "特急呪術師"、 "無量空処"が
代入されています。
五条先生のプロフィールが帰ってきます。