小学生からのプログラミング

【PHP】配列をループしよう!【foreach文】【小学生からのプログラミング講座 #8】

こんにちは!

「katのブログ」管理人かんりにんの、katです。

「小学生からのプログラミング講座こうざ第8回目の今回は、配列はいれつまたは連想配列れんそうはいれつをループする処理についてのお話になります。

配列はいれつとループ処理については、前回までの内容で学んでいますので、まだよく分からない方は先にそちらを見ておきましょう。

さて、前回は、for文を使って、指定した回数だけループする処理について学びましたが、今回は、配列はいれつに入っている値の数だけループする処理になります。

これを使う事で、配列はいれつの使い方が一気に広がるので、是非覚えていってください。

今回使うもの

プログラミング言語

今回は、以下のプログラミング言語で、プログラムを書いていきます。

・PHP

プログラミング環境

プログラムの実行は、以下のpaizaというサイトを使いましょう。

paizaのサイト

始めてという方は以下のページに使い方がのっていますので、見てみてください。

【PHP】paiza.ioの使い方【基本】【ブラウザでプログラミング】こんにちは! 「katのブログ」管理人かんりにんの、katです。 今回はkatのブログの連載記事((れんさいきじ))「小学生からのプログ...

foreachって何?

foreach文は、for文と同じでループする処理を書く場合に使う関数かんすうです。

ループの基本的な考え方もfor文と同じです。

for文と異なるのは、配列の中の値を一つづつループする事です。

例えば、[‘りんご’,’みかん’,’バナナ’,’いちご’]という配列があったとします。

foreachでは、この果物の名前にそれぞれ文字を付けるといったことが簡単にできます。

配列をループしてみよう

それでは実際に配列をループするソースコードを見てみましょう。

<?php

// 配列を作成します。
$fruits = ["りんご", "みかん", "バナナ", "いちご"];
// ループ処理
foreach ($fruits as $key => $fruit) {
    // 配列の値それぞれに対して文字を追加して画面に表示します。
    echo $key . "つ目は" . $fruit . "です。";
}

これを実行した結果は以下のようになります。

0つ目はりんごです。1つ目はみかんです。2つ目はバナナです。3つ目はいちごです。

~解説1~

// ループ処理
foreach ($fruits as $key => $fruit) {

配列のループには、上記のように、foreach文を使います。

foreach文の「()」の中は、以下のような意味があります。

(ループしたい配列 as 配列のキーを入れる変数 => 配列の値を入れる変数)

配列のキーを入れる変数」と「配列の値を入れる変数」には、ループしたい配列のある1つのキーと値が入ります

例えば、今回の配列だと、1回目のループでは

・配列のキーを入れる変数($key):0(配列の1つ目のキー)
                    ※キーは0から始まります

・配列の値を入れる変数($fruit):りんご(配列の1つ目の値)

2回目のループでは

・配列のキーを入れる変数($key):1(配列の2つ目のキー)

・配列の値を入れる変数($fruit):みかん(配列の2つ目の値)

となります。

~解説2~

    // 配列の値それぞれに対して文字を追加して画面に表示します。
    echo $key . "つ目は" . $fruit . "です。";

ここではechoで結果を画面に表示しています。

foreach文で出てきた「$key」と「$fruit」に文字列をくっつけて表示しています。(PHPでは文字や変数をつなぐ時は「.」をそれぞれの間に置きます。

例えば先ほども書きましたが、1回目のループでは、

・$key:0

・$fruit:りんご

となりますので、

echo 0 . “つ目は” . りんご . “です。”;

という意味となり、結果としてはそれぞれをくっつけた、

0つ目はりんごです。

が表示されます。

連想配列をループしてみよう

それでは連想配列もループしてみましょう

<?php

$user = [
  'なまえ' => 'たろう',
  'ねんれい' => '10さい',
  'せいべつ' => 'おとこ',
  '好きな色' => 'あお'
];

// ループ処理
foreach ($user as $key => $value) {
    // 配列の値それぞれに対して文字を追加して画面に表示します。
    echo $key . "は" . $value . "です。";
}

上記の実行結果は以下になります。

なまえはたろうです。ねんれいは10さいです。せいべつはおとこです。好きな色はあおです。

~解説~

// ループ処理
foreach ($user as $key => $value) {

連想配列の場合も配列の場合と同じくforeach文を使います。

連想配列の場合、キー名が決められているので、$keyには決めたキー名が入ります

そのため、1回目の場合は、

・$key:なまえ

・$value:たろう

2回目の場合は、

・$key:ねんれい

・$value:10さい

が入ります。

    // 配列の値それぞれに対して文字を追加して画面に表示します。
    echo $key . "は" . $value . "です。";

こちらは配列の場合と同じで、文字列とくっつけて画面に表示します。

例えば1回目の場合は、

echo なまえ . “は” . たろう . “です。”;

となるので、結果としては

なまえはたろうです。

が表示されます。

最後に

今回も最後まで読んでいただきありがとうございました。

今回は配列のループについて学んでいきました。

人間だと何度も同じことをするのは時間もかかり大変ですが、プログラムだと簡単にできてしまうということが分かりましたね。

同じような処理をしたい場合は、ループ処理を積極的に使っていきましょう!

では、また次回!


ABOUT ME
kat
プログラマー歴7年、2歳の子供を持つパパです。 興味のあることはプログラミングや今後のIT技術などです。 趣味でオンラインカードゲームのサイトを運営しております。 プログラミングを通して社会に貢献していきたいです。