【PHP入門】if文の使い方 条件分岐

PHPでif文を使う方法

PHPで条件によって処理を分岐する方法を解説します。これができるようになると「嗚呼、私、プログラミングしてる」と実感できます。

目次

if文の使い方

if文とは「もし〇〇だったら、△△する。そうでなければ、××する。」のように条件に応じて処理を変えるときに使う構文です。

if

if文の書き方は次のとおりです。ifの後ろの丸括弧()内に条件式を書きます。その後ろの波括弧{}内に処理を書きます。条件が真(true)ならば処理が実行され、偽(false)ならば実行されません。

if (条件式) {
  //条件が満たされたときに実行する処理
}

具体的に書いてみます。

$a = 66;

if ($a == 66) {
  echo 'aは66です';
}

条件式$a == 66$a66と等しいかどうかを評価しています。等しければ$a == 66trueを返します。条件がtrueなので、「aは66です」が出力されます。

else

条件が満たされなかったときの処理をするにはelseを使います。

$a = 65;

if ($a == 66) {
  echo 'aは66です';
} else {
  echo 'aは66ではありません';
}

まず、$a == 66が評価されます。$a66ではないのでfalseが返ります。echo 'aは66です';は実行されません。

条件が満たされない場合、ifの後ろにelseがあれば、その処理が実行されます。この例では「aは66ではありません」が出力されます。

elseif

ifの条件を満たさない場合に、別の条件を試したい場合はelseifを使います。

$a = 66;

if ($a > 100) {
  echo '$aは100より大きいです';
} elseif ($a > 50) {
  echo '$aは50より大きく100以下です';
} else {
  echo '$aは50以下です';
}

まず、$a > 100が評価され、falseが返ります。

次に、$a > 50が評価され、trueが返ります。そして「$aは50より大きく100以下です」が出力されます。

elseifはいくつでも連続して使うことができます。

激安プログラミングスクールのご紹介

独学は難しいと感じているあなたには、プログラミングスクールをオススメします。

  • 入会金不要、月額2,980円〜でプログラミングを学べる。
  • オンラインで学べるので地方在住者でも受講可能。
  • 現役エンジニアとのマンツーマンレッスンも月1回〜可能。
  • 回答率100%のQ&A掲示板に質問し放題。
  • 40種類以上の教材が学習し放題。HTML/CSS, JavaScript, PHP, Ruby, Python, WordPress, SQL などなど他にも盛りだくさん。

条件式の書き方

条件式はブール値(trueまたはfalse)を返すものならばなんでもOKです。

比較演算子

よく使われる比較演算子は次のとおりです。

戻り値
$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に数値の66、$bに文字列の66を代入
$a = 66;
$b = '66';

//「aとbは等しいですが、型は異なります」と出力されます
if ($a === $b) {
  echo 'aとbは等しく、型も同じです';
} elseif ($a == $b) {
  echo 'aとbは等しいですが、型は異なります';
} else {
  echo 'aとbは等しくありません';
}

論理演算子

よく使われる論理演算子は次のとおりです。

戻り値
$a and $b$aおよび$bがどちらもtrueならばtrue
$a && $b$aおよび$bがどちらもtrueならばtrue
$a or $b$aまたは$bのどちらかがtrueならばtrue
$a || $b$aまたは$bのどちらかがtrueならばtrue
!$a$atrueでなければtrue

使用例

$a = 66;

//「aは10より大きく、100より小さいです」と出力されます
if ($a > 10 && $a < 100) {
  echo 'aは10より大きく、100より小さいです';
} else {
  echo 'aは10以下、または100以上です';
}
$a = 666;

//「aは10と等しいか、100より大きいです」と出力されます
if ($a == 10 || $a > 100) {
  echo 'aは10と等しいか、100より大きいです';
} else {
  echo 'aは10と等しくもなければ、100より大きくもありません';
}
$a = true;

//「aはtrueです」と出力されます
if (!$a) {
  echo 'aはtrueではありません';
} else {
  echo 'aはtrueです';
}

関数

条件式ではブール値(trueまたはfalse)を返す関数を使うこともあります。

使用例

$a = array(66, 67, 68);

//is_array関数は引数が配列ならばtrue、配列でなければfalseを返します
//「aは配列です」と出力されます
if (is_array($a)) {
  echo 'aは配列です';
} else {
  echo 'aは配列ではありません';
}

if文のいろいろな書き方

波括弧の省略

波括弧{}の中に書く処理が1文だけの場合は波括弧を省略することができます。

$a = 66;

//波括弧ありの書き方
if ($a == 66) {
  echo 'aは66です';
}

//上記の文をこのように書くことができます
if ($a == 66)
  echo 'aは66です';

//処理が2文以上のときはこのように書くことはできません
if ($a == 66)
  echo 'aは66です';
  echo '本当です';

2文以上のときは書けないといっても、エラーにはなりません。なぜならば、2つ目の処理のecho '本当です';はif文の外側にある単独の処理として実行されるからです。危険です。

波括弧を省略するのはやめましょう。

コロンとendif

コロン:endifを使う書き方もあります。

$a = 66;

if ($a == 6) :
  echo 'aは6です';
elseif ($a == 66) :
  echo 'aは66です';
else :
  echo 'aは6でも66でもありません';
endif;

私個人的には使ったことがないのですが、場合によってはスッキリとして見やすいかもしれませんね。

三項演算子

三項演算子を使うと1行で簡単なif…else文と同じような処理ができます。

三項演算子の書き方は次のとおりです。

条件式 ? 真の式 : 偽の式

条件式がtrueならば真の式、falseならば偽の式を返します。

if文と三項演算子、それぞれの書き方を比較してみます。

$a = 66;

//if文で書く場合
if ($a == 66) {
  echo 'aは66です';
} else {
  echo 'aは66ではありません';
}

//三項演算子で書く場合
$msg = $a == 66 ? 'aは66です' : 'aは66ではありません';
echo $msg;

//もっとシンプルバージョン
echo $msg = $a == 66 ? 'aは66です' : 'aは66ではありません';

以上でーす。まぁ、慣れないうちは素直に波括弧を使う書き方でいいんじゃないでしょうか。

でわでわ

激安プログラミングスクールのご紹介

独学は難しいと感じているあなたには、プログラミングスクールをオススメします。

  • 入会金不要、月額2,980円〜でプログラミングを学べる。
  • オンラインで学べるので地方在住者でも受講可能。
  • 現役エンジニアとのマンツーマンレッスンも月1回〜可能。
  • 回答率100%のQ&A掲示板に質問し放題。
  • 40種類以上の教材が学習し放題。HTML/CSS, JavaScript, PHP, Ruby, Python, WordPress, SQL などなど他にも盛りだくさん。
PHPでif文を使う方法

この記事が気に入ったら
いいね または フォローしてね!

シェアしてね

コメント

コメントする

目次