*

繰り返しを学ぼう (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(HTML)

このサイト、PHPの学習サイトなのに内容から遠ざかっていました(爆) 個人的にはプログラミング

記事を読む

気を付けよう!個人事業主として働くときのトラブル

最近は開発のほうが忙しく、更新頻度が落ちているのですが、既存の記事を読んでる読者さんが多く、アクセス

記事を読む

お問い合わせフォームを作ろう! その4(PHP)

お疲れ様です。松本です。 今年は振り返ってみればもう半年が過ぎちゃいましたね。今年はいろいろあ

記事を読む

あなたのPHPレベルを判定してみよう!未経験者限定スキル判定表

プログラムを勉強していると自分のレベルみたいなものが気になる方は多いでしょう。 私の場合も独学

記事を読む

セミナー告知のお知らせ

突然ですが2018/06/16にIT業界への就職希望者を対象とした無料プログラミングセミナーを開催さ

記事を読む

XAMPPインストール

さて、XAMPPの初歩的な説明とエディタについて説明をしたところで実際にXAMPPをインストールして

記事を読む

プログラミングを独学で身につけるための4ステップ(実践編)

前回の記事ではプログラミングを独学で身につけるための心構え的なお話をしました。 今回は、実際に

記事を読む

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

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

記事を読む

作業が遅くてイライラしている方必見!作業スピードを改善するネタ・ツールなど

エンジニアとして仕事をしていますと、「ある機能を実装する最適な方法(設計やプログラムの組み方全般)を

記事を読む

どんなプログラマが身につけておいても損はない重要なスキルとは?

のっけからストレートなタイトルですいません。 ちょっとあおり気味なタイトルですが、今日紹介する

記事を読む

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 ↑