*

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

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

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

関連記事

基本ルールのまとめ

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

記事を読む

CMSの大まかな構成

前回に引き続き、CMSの大まかな構成について話したいと思います。 HTMLサイトとの違い CMS

記事を読む

オブジェクト指向

オブジェクト指向 その1 コードを1行も書かずに理解してみる

今回はオブジェクト指向について書きます。 プログラミングを少しでもやった(orやろうと思った)

記事を読む

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

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

記事を読む

CMSとは?

先週オフィスにきた新規の受講生の方に「CMSを使いたいので、使い方を教えていただきたいのですが・・・

記事を読む

PHPで掲示板を作ろう!(データベース編) その3 データベース作成編

ちょっと間隔があいてしまいましたが、今回はMySQLの講義です。 前回までの記事 PHPで掲示板

記事を読む

PHPで掲示板を作ろう! 掲示板の作成方法 まとめ

さて4回にわけて、掲示板のプログラムを学習してきました。 見た目は超シンプルで実際に動かしてみ

記事を読む

15時間でプログラミング言語の基本をマスターする方法

今回は主に経験者向けの記事となります。 タイトルの通りなのですが、私が新しい言語をマスターする

記事を読む

エディタを使いこなそう

PHPでプログラミングを始めるためにはXAMPPのインストールともう一つエディタというソフトをそろえ

記事を読む

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

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

記事を読む

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 ↑