カテゴリー : 2013年 7月31日

WHILE

while文は指定した条件式が真(true)の間、繰り返し実行します。

配列の中身も下記のように取り出すことができます。

多次元配列も下記のようにすると中身を取り出すことができます。

連想配列もできないことはないですが、今はforeachというものがあるのでそのときに説明します。

比較演算子

先ほどのwhile文の説明にしようしていた <  を比較演算子と呼びます。

比較演算子の種類を下記に示します。

これを利用して条件式で評価を行い、trueの場合、処理を行っていくのです。

名前 結果
$a == $b 等しい 型の相互変換をした後で $a が $b に等しい時に TRUE
$a === $b 等しい $a が $b に等しく、および同じ型である場合に TRUE 。
$a != $b 等しくない 型の相互変換をした後で $a が $b に等しくない場合に TRUE
$a <> $b 等しくない 型の相互変換をした後で $a が $b に等しくない場合に TRUE
$a !== $b 等しくない $a が $b と等しくないか、同じ型でない場合に TRUE 。
$a < $b より少ない $a が $b より少ない時に TRUE
$a > $b より多い $a が $b より多い時に TRUE
$a <= $b より少ないか等しい $a が $b より少ないか等しい時に TRUE
$a >= $b より多いか等しい $a が $b より多いか等しい時に TRUE

while 練習問題

その1

このようなボタンを十個作ってください。

その2

数字の1から30までの間の偶数を全て表示させるプログラムを作ってください。

その3

数字の3から40までの間の奇数を全て表示させるプログラムを作ってください。

その4、

今回の練習ファイルは現在で3つリンクが存在しています。
この3つのファイルを配列とwhileを使用してリストしてください。

  • http://127.0.0.1/php_p/index.php
  • http://127.0.0.1/php_p/first.php
  • http://127.0.0.1/php_p/second.php

アドバンス問題

上記のリストを<a>タグでマークアップをしてリンクできるようにしましょう。

 

 

for

条件式 の値が TRUE の場合、ループは継続され、文 が 実行 されます。

条件式 の値が FALSE の場合、ループの実行は 終了 します。

カウンタ初期設定の式 は、for 文の開始時 に 1 度 だけ実行されます。

条件式 の値は、各ループの開始時 に 毎回、評価されます。

カウンタ増減設定の式 は、各ループの最後 に 毎回、実行されます。

また、下記のように書くこともできます。

配列の要素の値を取り出すこともできます。

多次元配列も要素を取り出すことができます。

for 練習問題

問題1 => 掛け算の九九を表示させてください。
ヒント:二重for文

問題2 => 配列(イチゴ、バナナ、オレンジ、マンゴー)を作り、
イチゴとオレンジを表示させてください。

 

問題3 => 問題1で作った九九をテーブルを使って表示させてください。

問題4 => 赤 青 黄 というvalueを持ったボタンを3個作成して、それぞのボタンを押した場合にはテーブルの背景色が変わるようにしてください。(jQueryを使いましょう)

foreach

foreach は、配列を反復処理するための便利な方法です。
指定された配列/連想配列に対して先頭から順に繰り返し処理を行います。

配列の場合
foreach(配列 as 値変数):
処理
endforeach;

サンプルコード

連想配列の場合
foreach(配列 as キー変数 => 値変数):
処理
endforeach;

サンプルコード

このように配列の要素数がある分だけ繰り返し処理をしてくれます。

また連想多次元配列でも使用ができます。
サンプルコード

PHP5.5からは多次元配列をlist()関数を使いながら反復処理ができます。が!! みなさんのXAMPP環境はPHP5.4系なのでこれはエラーが出ます。

foreach 練習問題1

現在の練習サイトのリンクパスとページ名を連想配列に格納してください。
その後、foreachを使用して、下記のように ページ名とリンク先を出力できるようにしてください。

この仕組みを利用刷れば、INDEXページのINDEXリンクと ヘッダのグローバルナビに利用できます。やってみてください。

 

foreach練習問題2

foreach練習問題1で実行したままだとリンクリストを更新する時若干手間がかかってしまいます。

そこで、リンクナビ用の処理を別ファイルにしインクルードをおこなって一元管理ができるようにしましょう。

見本→