*

繰り返しを学ぼう (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(多次元配列)でもかきましたが、人間が普段扱うデータというのがこのケースが多いからです。

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

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

関連記事

教え方がうまい人に共通するたった1つの考え方

やや遅い気もしますが、あけましておめでとうございます。 今年もよろしくお願いします。 昨

記事を読む

基本ルールのまとめ

こんばんは、松本です。 このブログのコンテンツもこのエントリーで25本目となってきました。

記事を読む

バグをゼロに近づけるテスト手法とは?

私は去年のはじめまではPHP、去年の春~年末はJavaScript、今年からはJavaを触っています

記事を読む

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

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

記事を読む

PHPで掲示板を作ろう! 掲示板の作成方法 その4(ファイル読み込みとHTML表示)

今回でラストです。(次回はまとめをやる予定ですが。) これだけのソースにしては説明が長かったで

記事を読む

挫折必至!初心者がやってはいけないプログラミングの学習法 ワースト4

多くの方はプログラミングをどのように身につけたらいいのか・・・ということに関心があると思います。

記事を読む

初心者でもできる!作れる!WEBサービスの開発 その1 準備編

前回までは掲示板作成をテーマにPHPの基本的な学習内容について書いてきました。 今回は題材にあ

記事を読む

エラーメッセージで挫折

もうエラーメッセージで挫折しない! 4つのエラーメッセージ対処法

このブログで何回か書いたのですが、PHPに限らずプログラミングの独学はかなり難しいです。 その

記事を読む

初心者が知っておくべきプログラミングの学習法

おはようございます。松本です。 最近、体重が増えているのが悩みでして今現在71kgあります。去

記事を読む

WEBエンジニアだったら知っておきたいWEB開発ツール一覧

今回は仕事で使っているソフト、ツールやWEBサービスなんかを紹介していこうと思います。 それほ

記事を読む

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 ↑