PHP基礎 第3回 『if文、比較演算、論理演算』

こんにちは。 PHP基礎 は、プログラミング言語「PHP」を独学で学習するためのコンテンツとして、株式会社NEUGATEの教育事業部が作成しています。

この講座は、プログラミングの知識がゼロでも、イチから学習することができます。
何度も見返すことができますので、焦らず少しづつ覚えていきましょう。

この記事はシリーズとなっていますので、<<初回から観覧したい方はこちら>>からご覧ください。


今回は、if文を学習していきます。

目次

比較演算子

繰り返し文を作成する前に、if文でよく使用する演算子について学習しておきましょう。

比較演算子は、演算子の左辺等辺の値を比較するための演算子です。
演算子の左辺等辺を比較し、正しければtrueを、誤っていればfalseを演算結果として出します。

演算子使用例意味
<a<baはbより小さい
>a>baはbより大きい
=<a=<baはb以下
=>a=>baはb以上
==a==baとbは等しい
!=a!=baとbは等しくない
比較演算子 表
<?php

$a = 3
$b = 10

$a =< $b //true
$a > $b  //false
$a == ($b-7)  //true

?>

見覚えのあるものも良いですが、いま一度確認しておきましょう。

if文

繰り返し文は条件分岐文とも呼ばれ、
条件に当てはまるか当てはまらないかによって処理を変えたい際に便利な文です。

ifは英語で「もし」ですね。
if文では、もしこの条件に当てはまるであればこの処理を行う というコードが書けるようになります。

構文

if ( 条件式 ) {
  条件式がtrueの時に実行する処理
}

条件式…比較演算子を利用し、処理を行う条件を設定している式

<?php

$a = 3
$b = 10

if ($a < $b){
  echo '変数bは変数aより大きい';
}

if ($a > $b){
  echo '変数bは変数aより小さい';
}

?>

実行結果

変数bは変数aより大きい

このif文を日本語に訳すと以下のようになります。

もし「$a < $b」という条件に当てはまるのであれば「変数bは変数aより大きい」を表示する。
もし「$a > $b」という条件に当てはまるのであれば「変数bは変数aより小さい」を表示する。

今回は「$a < $b」の条件式のみ当てはまる(解がtrueになる)ので「変数bは変数aより大きい」が表示されました。

if-else文

if-else文は、条件式がtrueの場合だけでなく、falseの場合も処理を行う事ができる文です。

構文

if ( 条件式 ) {
  条件式がtrueの時に実行する処理
}else{
  条件式がfalseの時に実行する処理
}

<?php

$a = 3
$b = 10

if ($a < $b){
  echo '変数bは変数aより大きい';
}else{
  echo '変数bは変数aより小さい';
}

?>

上のコードは、先ほどのif文2つををif-else文に書き換えたものです。

構文の中にfalseの場合の処理も入っているので、より簡潔に記述することができますね。
elseは英語で「それ以外」という意味です。なので、上のif-else文を日本語にすると

もし「$a < $b」という条件に当てはまるのであれば「変数bは変数aより大きい」を表示する。
それ以外は「変数bは変数aより小さい」を表示する。

となります。

elseif文

elseif文は条件式による分岐を複数設定することができる文です。

構文

if ( 条件式 ①) {
  条件式①がtrueの時に実行する処理

}elseif(条件式② ){
  条件式②がtrueの時に実行する処理
}else{
  全ての条件式がfalseの時に実行する処理
}

<?php

$a = 3
$b = 10

if ($a == $b){
  echo '変数aと変数bは等しい';
}elseif ($a < $b){
  echo '変数aは変数bより小さい';
}else{
  echo '変数aは変数bより大きい';
}

?>

構文の中に条件式が複数入っています。
else ifは英語で「そうでなく、もし」という意味です。なので、上のelseif文を日本語にすると

もし「$a == $b」という条件に当てはまるのであれば「変数aと変数bは等しい」を表示する。
そうでなく、もし「$a < $b」という条件に当てはまるのであれば「変数aは変数bより小さい」を表示する。
それ以外は「変数aは変数bより大きい」を表示する。

となります。

elseifのキーワードは何度でも使用することができ、1文に複数回elseifキーワードを入れることも可能です。
文法上、elseif文ではelseキーワードを使用しなくても問題になりませんが、慣習として入れるようにしておくのがベターです。

論理演算子

最後に、条件式を複数設けることができる論理演算子を紹介します。
先ほど紹介したelseifと似ているように聞こえますが、全くの別物です。

elseif…条件式を複数設定し、どれに該当するかで分岐を変える
論理演算子…1つの条件式の中に複数条件を設定できる

演算子使用例意味
&&$a<$b && $a==$caがbより小さい「かつ」aとcが等しい
||$a<$b || $a==$caがbより小さい「もしくは」aとcが等しい
xor$a<$b xor $a==$caがbより小さい、aとcが等しい「どちらかだけに当てはまる」
!! $a<$baがbより小さ「くない場合」
PHP 論理演算子一覧表

では、実際に論理演算子を使用した文を見てみましょう。

<?php

$a = 3
$b = 10

if ($a<$b or $a==$b){
  echo '変数bは変数a以上の数値です';
}else{
  echo '変数bは変数aより小さいです';
}

?>

if文の条件式の中は「$a<$b もしくは $a==$b どちらかに当てはまる場合はtrue」という意味合いです。
論理演算子を使用すると、複雑な条件による分岐も実現できそうですね。

まとめ

今回はif文、比較演算子、論理演算子について学習しました。

使用頻度が高い構文となっていますので、少しづつ慣れていきましょう。

次回は配列について学習します。

次回の記事はこちら
<<第5回【PHP入門】 繰り返し文>>

(Visited 17 times, 1 visits today)
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次