本記事ではPHPで配列や連想配列から要素を取り出すforeachについてみていきます。
環境: PHP 7.1.19
foreach文とは
PHPでforeach文は配列や連想配列の要素を繰り返し処理する場合に使います。
いかに代表的な2つの使い方を紹介します。
①foreach (配列 as 要素)
②foreach (連想配列 as キー => 要素)
①foreach (配列 as 要素)
1 2 3 4 5 6 7 8 9 |
<?php $numbers = [1, 2, 3, 4, 5,6,7,8]; foreach ($numbers as $number) { echo $number; } ?> //出力結果は、12345678 |
上のコードでは配列$numbersを繰り返していて、繰り返される要素を$numberとしています。echoで$numberを確認すると12345678と$numbersの配列の中身が繰り返されていることがわかりますね。
※PHPの環境を作るのがめんどくさい方はこちらのサイトでPHPのコードを試せるのでぜひ。
②foreach (連想配列 as キー => 要素)
次に連想配列を繰り返して要素を処理するパターンです。
連想配列についてはここらへんを参考にしてみてください。
簡単に言うと、キーとバリューをセットで持ったデータの配列みたいな感じです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?php $languages = [ '日本' => '日本語', 'アメリカ' => '英語', 'ペルー' => 'スペイン語' ]; foreach ($languages as $country => $language) { echo "$country の言語は $language です。\n"; } ?> //処理結果 日本 の言語は 日本語 です。 アメリカ の言語は 英語 です。 ペルー の言語は スペイン語 です。 |
まず$languageという連想配列に、
キーが”日本”,”アメリカ”,”ペルー”で
バリューが”日本語”,”英語”,”スペイン語”というデータが入っています。
foreachで$languages繰り返しており、キーを$country、バリューをlanguageに設定しています。
まとめ
以上簡単にですがPHPでのforeachの使い方をまとめてみました。
PHPでの繰り返し処理はforやwhileなどもあります。foreachは基本的に配列と連想配列に対して使う感じでOKです。
forとforeachの使い分けはこの記事が参考になるのでみてみてください。
参考: