if文で論理演算子を使ってみよう
富士登山でありそうな、取得した標高から何合目まで登っているかを判定するプログラム
【PHP】
<?php
//ここで現在の標高を設定
$elevation = 2304;
if($elevation >= 2305 && $elevation < 2450){
echo '五合目です。';
}elseif($elevation >= 2450 && $elevation < 2750){
echo '六合目です。';
}elseif($elevation >= 2750 && $elevation < 3350){
echo '七合目です。';
}elseif($elevation >= 3350 && $elevation < 3570){
echo '八合目です。';
}elseif($elevation >= 3570 && $elevation < 3776){
echo '九合目です。';
}elseif($elevation === 3776){
echo '十合目 登頂、おめでとう!!';
//想定外の入力があった場合の処理も設定しておくのがおすすめ
}elseif($elevation > 3776){
echo '富士山はそんなに高くありません。';
}else{
echo '五合目を超えてから試してみてください。';
}
【ブラウザ】表示結果
●標高を2304にした場合
「五合目を超えてから試してみてください。」
●標高3333の場合
「七合目です。」
●標高3776の場合
「十合目 登頂、おめでとう!!」
●標高8849の場合
「富士山はそんなに高くありません。」
論理演算子は他に何がある?
演算子 | 意味 | 例 |
---|---|---|
&& | かつ | $osugi_mama === $pi-ko_mama && $osugi_birthday === $pi-ko_birthday (この場合、$osugi_mamaと$pi-ko_mamaが同じで、$osugi_birthday と$pi-ko_birthdayが同じである場合にTRUEを返す) |
|| | または | $mario_mom === $luigi_mom || $mario_dad === $luigi_dad ($mario_momと$luigi_momが同じか、$mario_dadと$luigi_dadが同じであれば、TRUEを返す) |
! | 否定 | !$mikansei === 100 ($mikansei が100ではなければTrueを返す) |
※●●かつ●●の時、●●または●●の時…など、条件が複雑になる場合は、上記の論理演算子を使って処理ができるが、if文中でさらにif文を使う入れ子(ネスト)を使えば、同じ効果が得られる。
宇宙船演算子とは
スポーツの試合の時などで、ポイントを比較して勝ち負け・ドローを判定できる演算子。
【イメージ】

【PHP】
<?php
echo 1 <=> 1;
echo '<br>';
echo 2 <=> 1;
echo '<br>';
echo 1 <=> 2;
【ブラウザ】※echo '<br>'; は見やすくするために書いたもので、実処理には無関係。
