PHP

【PHPの基礎】foreach構文をマスターしよう! 連想配列、break構文、continue構文も紹介

foreach
今回解決できる内容!

✔️foreachってなに?

✔️foreachの使い方は?

foreachは開発の際に必ず使われる構文です。

是非今回でマスターしましょう!

プログラミング
勉強中の人

プログラミングのスキルをもっと上げたいけど、

本業が忙しくて全然勉強する時間をとれないよ、、

プログラミング独学で1番つらいのが、相談する相手がいないことです。

上記のような悩みを抱えている方はまず下記に無料で相談してみましょう。

>>【テックアカデミー】無料メンター相談の詳細はコチラ

【基礎編】foreachとは

foreachとは、配列専用の繰り返し構文です

配列の中に入っている要素の数だけ、繰り返し処理をしてくれます

書き方は下記の通りです。

foreach (配列の変数 as 各要素が格納される変数){
実行処理文
}

実際に例文をを確認してみましょう!

<?php

$array=['国語','理科','社会'];
foreach($array as $var){
  echo $var.'<br>';
}
?>

実行結果は下記の通りです。

「$array」(配列の変数)という配列の中の要素を、「$var」(各要素が格納される変数)に順番に格納していきます。

その後{}の中を実行します。ここでいうと「echo $var.’<br>’」になります。

echoは出力コード、'<br>’は段落を設けるコードです。

これを1つずつ繰り返し処理をしていくと、「国語、理科、社会」と順番に出力されます。

このようにしてforeachを使うと配列の要素を取り出すことができます

【応用編】連想配列でforeachを使ってみよう!

次に連想配列でforeachを使用してみましょう。

連想配列に関しては下記の記事を参考にしてください。

>>【PHPの基礎】配列、連想配列をマスターしよう!

連想配列のforeachの構文の書き方は下記の通りです。

foreach (配列の変数 as キー変数 => 各要素が格納される変数) {
実行処理文
}

実際の例文を確認してみましょう!

<?php

$array=['得意'=>'体育','普通'=>'英語','不得意'=>'国語'];
foreach($array as $name=>$subject){
  echo $name.':'.$subject.'<br>';
}

?>

実行結果は下記の通りです。

「$array」(配列の変数)という配列の中の、キーを$nameに、要素を$subjectに格納していきます。

その後{}の中を実行します。ここでいうと「echo $name.’:’.$subject.'<br>’」になります。

echoは出力コード、'<br>’は段落を設けるコードです。

これを1つずつ繰り返し処理をしていくと、「得意:体育、普通:英語、不得意:国語」と順番に出力されます。

【応用編】break構文の使い方

次はforeachでbreak構文を使用してみましょう!

break構文とは、特定の条件になったら繰り返し処理を中断するための構文です。

書き方は下記の通りです。

foreach (配列の変数 as 各要素が格納される変数){
    //実行処理文
    break;  //現在の繰り返し処理を終了し、foreachの処理から抜ける。
}

実際の例文を確認してみましょう!

<?php

$array=[1,2,3,4,5];

foreach($array as $var){
    echo $var.'<br>';

    if($var==4){
        echo 'breakします!';
        break;
    }
}
?>

実行結果は下記の通りです。

「$array」(配列の変数)という配列の中の要素を、「$var」(各要素が格納される変数)に順番に格納していきます。

これまでは先ほどの例と同様ですが、今回下記のif文が追加されています。

もし「$var」(各要素が格納される変数)が「4」だった場合、「echo ‘breakします!’」を実行し、breke処理を行う

というif文です。

これにより、「1、2、3、4」までが順番に出力され、 if文内の「breakします!」を出力後は、実行されなくなります。

if文の基礎に関しては下記の記事を参考にして下さい!

>>【PHPの基礎】if文をマスターしよう!

【応用編】continue構文の使い方

次はforeachでcontinue構文を使用してみましょう!

continue構文とは、特定の繰り返し処理をスキップするための構文です。

書き方は下記の通りです。

foreach (配列の変数 as 各要素が格納される変数){
    //実行処理文
   continue ;  //現在の繰り返し処理をスキップし、次の繰り返し処理に移る。
}

実際の例文を確認してみましょう!

<?php

$array=[1,2,3,4,5];

foreach($array as $var){
    if($var==4){
        continue;
    }
    echo $var.'<br>';
}
?>

結果は下記の通りです。

「$array」(配列の変数)という配列の中の要素を、「$var」(各要素が格納される変数)に順番に格納していきます。

今回下記のif文が追加されています。

もし「$var」(各要素が格納される変数)が「4」だった場合、continue構文により処理をスキップします。

これにより、「1、2、3」までが順番に出力され、 「$var」(各要素が格納される変数)が「4」の際は出力されず、次の繰り返し処理に移ります。

つまり、「1、2、3、5」が出力されます。

独学でツラくなった方へ

まとめ

今回説明した内容

✅foreachの使い方

✅break構文、continue構文の使い方

今回は以上になります。

今後データベースから情報を取ってくる際に、このforeachは必ずと言っていいほど利用します。

是非いくつも演習を行なってマスターして下さい。

繰り返し処理に関しては、下記の記事も参考にしてみて下さい!

>>【PHPの基礎】for文(繰り返し処理)をマスターしよう!

>>【PHPの基礎】while文(繰り返し処理)をマスターしよう!