SHOEISHA iD

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

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

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

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

第4回


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

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

複合的な条件の書き方

 では、水曜にチケットを割引する対象が女性限定であった場合、どうすればいいでしょうか。このような場合、『もし水曜で尚且つ女性であれば』のような複合的な条件の記述もできます。複合的な条件は && 記号と || 記号を用います。

複合的な条件の書き方
if( 条件A && 条件B ) → 条件Aで尚且つBであれば
if( 条件A || 条件B ) → 条件AまたはBであれば

 以下は実際の使用例です。

○○でなおかつ(&&)△△ならば
 // $day が「水曜日」でなおかつ $gender が「女性」ならば、チケット500円引き。
  if( $day == "水曜日" && $gender == "女性" ){
    $price = $price - 500;
}
○○または(||)△△ならば
 // $hour が 21 以上または 10 以下ならば、メッセージを表示
  if( $hour >= 21 || $hour <= 10 ){
    print("今日は閉店しました。また明日お願いします。");
}

elseifとelse

 if文だけでは対応できない場合のために、elseifelseというキーワードも存在します。例えば、血液型占いを考えた場合、A型の場合、O型の場合、B型の場合、AB型の場合で占い結果が違います。このように条件が何パターンかある場合に、elseifelseを使います。

 elseifは『ifの条件ではないけれども○○なら』という意味です。elseは『ifでもelseifでもないならば』の意味です。次のように記述します。

elseif、elseを利用した条件分岐の書き方
if( 条件A ){
    条件Aに合致した場合の処理
  }elseif(条件B){
    条件Aではなく、条件Bに合致した場合の処理
  }elseif(条件C){
    条件A、Bではなく、条件Cに合致した場合の処理
  }else{
    条件A、B、Cのいずれにも合致しなかった場合の処理
}

 if無しにelseifelseを書くことができません。また、elseifは必要な限り何個でも列挙することが可能です。

 血液型占いの例の場合、「条件A」に『A型ならば』、「条件B」に『O型ならば』、「条件C」に『AB型ならば』のように当てはめていきます。elseは条件A~Cのいずれにも当てはまらない場合に入りますから、必然的に『AB型または血液型が不明ならば』という条件になります。

 では、サンプルソースの「codezine4」フォルダごと「Cドライブ」→「xampp」→「htdocs」フォルダに移動させましょう。移動が完了したら「codezine4」フォルダの中にある、「if.php」というファイルをメモ帳などで開き、内容を確認してみましょう。

「if.php」ファイルの内容。$bloodという変数に血液型を設定し、それに応じたメッセージを表示するプログラム
<html>
<h2>血液型占い</h2>
<body>
<?php
	$blood = "O";

	// $blood(血液型)に応じたメッセージを表示する。
	if($blood == "A"){
		$message = "A型のあなた!今日はいい事があります。";
	}elseif($blood == "O"){
		$message = "O型のあなた!今日の行動は慎重に。";
	}elseif($blood == "B"){
		$message = "B型のあなた!風邪に注意です。";
	}else{
		$message = "AB型または不明のあなた!ポジティブにいきましょう。"
	}
	print("占い結果:$message");
?>
</body>
</html>

 確認したら、http://localhost/codezine4/if.phpにアクセスしてください。

上記URLにアクセスした表示結果。「$blood = "O"」となっているため、O型用のメッセージが表示される
上記URLにアクセスした表示結果。「$blood = "O"」となっているため、O型用のメッセージが表示される

 結果を確認したら、「codezine4」フォルダの「if.php」の「$blood = "O"」の部分を、「$blood = "AB";」に変更し、再度http://localhost/codezine4/if.phpにアクセスしてみましょう。表示結果が変わる事を確認できます。

$bloodの値を変更後の表示結果。AB型の人向けのメッセージが表示されるようになった
$bloodの値を変更後の表示結果。AB型の人向けのメッセージが表示されるようになった

次のページ
繰り返し(ループ)

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

  • 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」など、さまざまなカンファレンスを企画・運営しています。

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

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

メールバックナンバー

アクセスランキング

アクセスランキング