SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

プログラミング未経験から始めるPHP入門

条件分岐と繰り返しを使いこなそう!
プログラミング未経験から始めるPHP入門(4)

第4回


  • X ポスト
  • このエントリーをはてなブックマークに追加

ダウンロード サンプルソース (1.5 KB)

繰り返し(ループ)

 繰り返しを用いると、ある回数、同じ処理を行うことができます。例えば『10回何かを行う』であったり、『ショッピングカードに入っている品物の回数だけ何かを行う』といった事が可能です。PHPでは、繰り返しの時に使うキーワードとして以下の3種類が用意されており、状況に応じて使い分けます。

  • for:回数を指定して繰り返す事に向いている
  •   (例:10回何かを行う)

  • foreach:配列の要素数だけ、繰り返す事に向いている
  •   (例:配列に入っている品物の数だけ、何かを行う)

  • while:ある条件に合致する間、何かを繰り返す時に使用する
  •   (例:当たりが出るまで、抽選を繰り返す)

forループ

 まず、forループに関して説明します。forを使ったループは、回数を指定して繰り返す時に最適です。次のように、括弧の中にセミコロンで区切った3つのエリアを記述します。

forループの書き方
for ( カウンター初期化処理 ;  継続条件;  カウントアップ処理 ){
            繰り返したい処理
}

 一見難しそうですが、forループは決まりきった書き方をすることがほとんどです。サンプルソースの「for.php」をメモ帳などで開いてください。

「for.php」の内容
<html>
<h2>for ループの例</h2>
<body>
<?php
	for( $i = 0; $i < 5; $i++ ){
		print("こんにちは。( $i 回目 )<br>");
	}
?>
</body>
</html>

 このプログラムは5回、「こんにちは。」というメッセージを表示します。「$i」の部分は任意の変数名で、「$j」などでも構いません。

 このプログラムを『人間が指を立てながら5回「こんにちは」を唱える』と置き換えてみてください。立っている指は、はじめは0本です。これが「$i = 0」に対応します。指が5本立つまで唱え続けます。これが「$i < 5」に対応します。「こんにちは」を1回言う度に指を1本立てます。これが「$i++」に対応します。「++」は、変数「$i」の中の数字を1つ分カウントアップさせるための命令です。

プログラム「for.php」のイメージ。『「片手をグーにした状態($i = 0)」』から、『「こんにちは」と唱えたたら指を1本立て($i++)」』、それを『立っている指の数が5本になるまで($i < 5)』繰り返す
プログラム「for.php」のイメージ。『「片手をグーにした状態($i = 0)」』から、『「こんにちは」と唱えたたら指を1本立て($i++)」』、それを『立っている指の数が5本になるまで($i < 5)』繰り返す

 では、サンプルプログラムを実行してみましょう。http://localhost/codezine4/for.phpにアクセスしてください。また、ソースの表示も行ってみましょう。

上記URLにアクセスした結果。0からカウントした5回分、「こんにちは」が表示される
上記URLにアクセスした結果。0からカウントした5回分、「こんにちは」が表示される

 次に、「for( $i = 0; $i < 5; $i++ )」の部分を「for( $i = 0; $i < 10; $i++ )」に書き換え、もう一度アクセスしてみます。10回表示されるはずです。

forループの条件を変更したため、表示される内容が変わった
forループの条件を変更したため、表示される内容が変わった

次のページ
foreachループ

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
プログラミング未経験から始めるPHP入門連載記事一覧

もっと読む

この記事の著者

大家 正登(オオイエ マサト)

デジタルハリウッド『PHP 講座』講師。学生時代、スペイン語を専攻していたものの何故かプログラム言語に心が傾き、近所のフリープログラマーに弟子入り修行。その後中堅 SIer に 3 年間所属し、現在はフリーエンジニア。仕事の傍らジャズを演奏し、コントラバス 2 台と同居中。(ITエンジニア・大家正登のWeb...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3595 2009/03/04 22:24

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング