*

繰り返しを学ぼう (for,foreach)

公開日: : 最終更新日:2015/05/20 PHP, 講義

こんばんわ。松本です。

ゴールデンウィークもそろそろおわりですね。といいつつ、私はどこにも言ってないですし、家と職場で仕事をしていることが多かったので普段と変わらなかったんですが(汗)

さて、今回の講義は繰り返しについて扱います。

これまたプログラミングの基本中の基本になりますので、しっかり覚えましょう。例によってすごいカンタンですが、すごい重要です。

繰り返しとは?

繰り返しとは例えば「1から10までを表示しましょう」みたいなケースです。

これをやるときに、

といった、書き方をしては当然いけません。

これだと1→10ぐらいならいいですが、1→1000とかだともう収拾がつきませんね。終わりが1000であっても、10000であってもそれほど行数が増えないような書き方が望ましいです。

このようなときに考え出されたのが繰り返しの構文で、for(配列の操作はforeach)を使います。

forの書き方

例えば上記のケースでは以下のように書けば、1から10までを表示することができます。

あえて日本語でかくと

for( 変数のスタート;変数の終わり;変数のカウントアップ(++で1ずつ増える)){
内部で繰り返される処理
}
となります。上の例ですと$iという変数が1から始まり10まで1つずつ増えるという処理を行っています。

実務で多いのは配列の処理

このようにforを書かせてもらいましたが、実務で一番多い繰り返しの処理というのは実は配列の処理になります。

例えば上記のような配列があってこれらを全て画面表示したいときには配列を下記のようにforで展開すればOKです。(見やすくするために空白を入れてありますがこれはなくても構いません。)

ただ上記の場合、わざわざ配列の要素数を数えるのが面倒くさいですね。
通常だと配列の要素数を数えるのはcount($kudamono)という関数で数えることができるのでこれを使い、数えることが一般的です。

foreachの書き方

forでも問題ありませんが、PHPには配列を展開する専用の構文があります。それがforeachです。
forの場合、確かに便利なのですが

  • スタートとゴール、カウントアップなどを自分で書かなくてはいけない
  • 配列の要素数を数える処理が必要になる

など不便な点もあります。

foreachはこのような不便な点をカバーした処理です。

たとえば先ほどの処理ですと下記のようにして書くことができます。

foreachのなかの説明ですが

foreach(ループさせる配列 as キー=> 値){

この中で配列の要素分のループが回ります。

$key ,$valueという変数がそれぞれ配列のキーと値として使われます。

}

$keyと$valueという変数名は別にこれでなくても構いませんが、一般的に良く使われるため、使用しました。

なおキーを使わずに値だけを下記のように使用することも可能です。

※逆に言うとキーだけを使用することはできません。

配列のループ処理は繰り返しの中でも最もよく使われる処理だけにしっかり覚えておきましょう!

実務での使用ケース

実務で使われるのはもっぱら下記のような多次元配列の中に連想配列が入ったパターンです。理由としてはデータを扱ってみよう その3(多次元配列)でもかきましたが、人間が普段扱うデータというのがこのケースが多いからです。

これをループさせてみましょう。

このタイプのループ処理が実務で最も多いものなので慣れておくようにしましょう!プログラミングをやるとこの処理を毎日ひたすらすることになります。

関連記事

プログラミング学習法「写経」について

本日は本ブログのメインテーマであるプログラミング学習について考えてみたいと思います。 今までプ

記事を読む

勘違いしてはいけない未経験ややる気という言葉

かなり久しぶりの投稿になってしまいました・・・ 以前ダイエットに成功し、2年以上かけて10kg

記事を読む

初心者でもできる!作れる!WEBサービスの開発 その3 運営体験記編

(前回までの続き) 初心者でもできる!作れる!WEBサービスの開発 その1 準備編 初心

記事を読む

ゼロからWEBプログラミング(PHP)をマスターするのに何時間かかる?

おはようございます。松本です。 さて、本日のテーマはタイトルのとおりです。以前受講生の方に「ゼ

記事を読む

PHPで掲示板を作ろう!(データベース編) その2 MySQLログイン編

あ、最近はこのブログの画像に凝るようにしています。サイドバーなんかみていただくとブログのアイキャッチ

記事を読む

初心者が読みやすいコードを書くときに気をつけたい4つのポイント

本日のお題は、「読みやすいコードの書き方」についてです。 プログラミングをやりたての頃は機能を

記事を読む

よく使う処理をまとめよう その2 (関数)

こんにちは。松本です。 最近の私の使命はダイエットです(爆)。 ダイエットはいろいろな方

記事を読む

未経験者がWEB系企業の就活で注意すべき5つのポイント

昨日、あまり寝てないせいか、今日も寝れない松本です(爆) 生活リズムはやはり大切ですね。睡眠時

記事を読む

PHPのメリット・デメリット

うちのブログで一番読まれている記事が「フレームワークのメリット・デメリット」ですね。 タイトル

記事を読む

繰り返しを学ぼう その2 (while)

おはようございます。松本です。 最近、仕事をしていると細かいノウハウよりも「行動力」が何よりも

記事を読む

Comment

  1. […]  www.dt30.net繰り返しを学ぼう (for,foreach) | ガチンコPHP塾http://skill-up-engineering.com/gachinko/?p=181こんばんわ。松本です。 ゴールデンウィークもそろそろおわりですね。といいつつ、私はどこにも言 […]

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

転職エージェントについて

さて、エンジニアとして転職を考えている人であれば転職エージェントを使っ

エンジニアが転職して年収を上げる方法を考えてみました。

えー前回の記事でも書きましたが、2020年2月現在転職活動中です。

2020年のご挨拶

今更ですが、明けましておめでとうございます。 2019年も2本し

自社開発>客先常駐である本当の理由

このブログでも何回か取り上げていますが、ITエンジニアの働き方としては

エンジニアにとって必要なコミュニケーション能力とは

気がついたらもう3月下旬になっていますね・・ 年末年始忙しかった

→もっと見る

  • follow us in feedly
PAGE TOP ↑