hitoshop14 @ ウィキ
条件分岐
最終更新:
hitoshop
-
view
条件分岐
算術演算子
if文
<?php | ▼▼▼説明▼▼▼ |
$a = 200; | 変数$aに200を代入 |
if ($a > 200) { | $aは200より大きいの? |
print "値は200より大きいです。"; | |
} elseif ($a > 100) { | $aは100より大きいの? |
print "値は200以下で100より大きいです。"; | |
} else { | $aは上記以外なの? |
print "値は100以下です。"; | |
} | |
?> |
◆三項演算子$bool =($a
== 200) ?'200です':
'200じゃないです'
;
これは、if文の簡単な書き方で、もし$aが200なら変数$boolに「200です」を代入し、それ以外は「200じゃないです」を代入する書き方です.
比較演算子
比較条件 | 比較演算子 | 用例 |
等しい | == | $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の値が異なればtrue) |
論理演算子
比較条件 | 論理演算子 | 比較の仕方 |
論理積 | and または && | 条件式がすべてtrueなら、全体としてtrue |
論理和 | or または || | 条件式の内1つがtrueなら、全体としてtrue |
否定 | ! | 【 ! 】の次の条件式がfalseなら、全体としてtrue |
排他的論理和 | xor | 前後条件式の一方がtrueでもう一方がfalseなら、全体としてtrue |
サンプル
<?php | ▼▼▼説明▼▼▼ |
$a = 123; | 変数$aに123を代入 |
$b = 101; | 変数$bに101を代入 |
if ($a > 100and$a > $b) { | 二つの式がtrueなら、全体としてtrue |
print "$aは100より大きくかつ$bより大きい"; | |
} | |
if ($a > 100or$b > 100) { | 二つの式の一つがtrueなら、全体としてtrue |
print "$aと$bのいずれかは100より大きい"; | 二つの式ともtrueの場合でも、全体としてtrue |
} | |
if (!($a == 100)) { | $aが100ではないなら、全体としてtrue |
print "$aは100ではない"; | |
} | |
?> |
switch文
<?php | ▼▼▼説明▼▼▼ |
$a = 2; | 変数$aに2を代入 |
switch ($a) { | switch文のより$aの値を比較 |
case 1: | case 文の末尾は【 : 】(コロン) |
print "$aの値は1です"; | |
break; | break文で、switch文から抜けます |
case 2: | |
print "$aの値は2です"; | |
break; | |
case 3: | |
print "$aの値は2です"; | |
break; | |
default: | case文に当てはまらない場合、全てdefaultで処理されます |
print "$aの値は1~3以外です"; | |
break; | |
} | |
?> |
for文
<?php | ▼▼▼説明▼▼▼ |
$a = 2; | 変数$aに2を代入 |
for ($cnt = 1; $cnt <= 10; $cnt++) { | ループ処理を1から始め10で終了 |
print $cnt . "回目の変数$aは" . $a ."<br />"; | |
$a += 5; | 変数$aにプラス5を代入 |
} | 変数$cntにプラス1を代入($cnt++)部分 |
print "ループ終了"; | |
?> |
while文
<?php | ▼▼▼説明▼▼▼ |
$a = 2; | 変数$aに2を代入 |
$cnt = 1; | 変数$cntに1を代入 |
while ($cnt <= 10) { | while文で$cntが10になるまでループ処理 |
print $cnt . "回目の変数$aの値は" . $a . "です<br />"; | |
$a +=2; | 変数$aにプラス2を代入 |
$cnt++; | 変数$cntにプラス1を代入 |
} | |
print "ループ終了"; | |
?> |
do ~ while文
<?php | ▼▼▼説明▼▼▼ |
$a = 2; | 変数$aに2を代入 |
$cnt = 10; | 変数$cntに10を代入 |
do { | do文にて処理 |
print $cnt . "回目の$aの値は" . $a . "です<br />"; | |
$a += 2; | $aにプラス2を代入 |
$cnt++ | $cntにプラス1を代入 |
} while ($cnt <= 5); | while文にて処理 |
print "ループ終了"; | |
?> |
◆ここで重要なのは、最低1回は処理されるという点です.do以下の処理が実行されて、while文にて条件処理されるので、$cntは10以上でfalseのはずが、
実行結果は
「10回目の$aの値は2です」と表示されます.
foreach文
<?php | ▼▼▼説明▼▼▼ |
$goods = array ( | 変数$goodsに連想配列を代入 |
"apple" => "りんご", | |
"orange" => "オレンジ", | |
"grape" => "ぶどう" | |
) | |
foreach ($goods as $key => $value) { | foreach文によるループ処理 |
print $key . "は、" . $value . "です<br />"; | ここでは、$keyが英単語、$valueが日本語になる |
} | |
?> |
◆【 as 】の次に指定された「キー変数」にはキーの値、【 => 】の次に指定された「値変数」にはデータの値を代入します.