PHPの条件分岐をマスターする10のステップ

PHPの条件分岐を使いこなすための手引きとサンプルコードPHP
この記事は約9分で読めます。

 

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

基本的な知識があればカスタムコードを使って機能追加、目的を達成できるように作ってあります。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を凌駕する現役のプログラマチームによって監修されています。

サイト内のコードを共有する場合は、参照元として引用して下さいますと幸いです

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

プログラミング言語PHPの条件分岐をしっかりと理解し、使いこなせるようになることは、より洗練されたプログラムを書くための大きなステップです。

この記事を読めば、あなたもPHPの条件分岐を使いこなすための10のステップを学べます。

さらに、サンプルコードとその説明を通じて、具体的な使い方をマスターすることができます。

●PHPとは

PHPは、Webサイトのバックエンド開発に広く使用されるサーバーサイドのスクリプト言語です。

柔軟性と手軽さから、初心者からプロフェッショナルまで幅広い開発者に愛用されています。

○PHPの基本構造

PHPのコードは、一般的にはHTML内に埋め込まれ、スクリプトとして動作します。

基本的なPHPの構文は次のようになります。

<?php
    // ここにPHPのコードを書く
?>

上記のように、PHPのコードは <?php?> の間に記述します。

●条件分岐とは

条件分岐とは、ある条件が真(true)か偽(false)かによって、プログラムの動作を変えるためのものです。

これにより、同じコードでも異なる入力や状況に応じて異なる結果を出すことが可能となります。

○条件分岐の重要性

条件分岐は、プログラムに柔軟性と動的な機能を提供します。

例えば、ユーザーの入力に応じて異なる動作をさせたり、特定の条件下でのみ特定の処理を実行させたりすることが可能です。

条件分岐がなければ、プログラムは始めから終わりまで一直線に進むだけで、多くの場面での利用は難しいでしょう。

●PHPにおける条件分岐の種類

PHPでは主に if 文と switch 文の2つの方法で条件分岐を表現します。

○if文とは

if 文は、指定した条件が真(true)である場合にだけ、特定のコードを実行します。

さらに elseelseif を用いることで、より複雑な条件分岐を作ることも可能です。

○switch文とは

switch 文は、一つの式の結果に基づいて多くの可能な結果から一つを選ぶための条件分岐です。

if 文の連続した使用を簡潔に書くことができます。

●PHPでの条件分岐の使い方

それでは具体的にPHPの条件分岐の使い方を見ていきましょう。

まずは基本的な if 文の使い方から始めます。

○サンプルコード1:if文の基本的な使い方

このコードでは、変数 $number が5より大きいかどうかを評価しています。

条件が真(つまり10は5より大きい)であるため、’数値は5より大きいです。’と表示されます。

<?php
$number = 10;
if ($number > 5) {
    echo '数値は5より大きいです。';
}
?>

次に、 elseelseif の使い方を見てみましょう。

○サンプルコード2:elseとelseifの使い方

このコードでは、まず if 文で $number が15より大きいかどうかを評価します。

この条件は偽なので、次に elseif 文で $number が10より大きいかどうかを評価します。

この条件も偽なので、最終的に else 文のコードが実行され、’数値は10以下です。’と表示されます。

<?php
$number = 10;
if ($number > 15) {
    echo '数値は15より大きいです。';
} elseif ($number > 10) {
    echo '数値は10より大きく、15以下です。';
} else {
    echo '数値は10以下です。';
}
?>

次に、 switch 文の使い方を見ていきます。

○サンプルコード3:switch文の使い方

このコードでは、$day の値によって表示するメッセージを変えています。

$day が ‘月曜’ の場合、’今日は月曜です。’と表示し、’火曜’ の場合は ‘今日は火曜です。’と表示します。

どちらのケースも一致しない場合は、 ‘今日は水曜以降の日付です。’と表示します。

<?php
$day = '月曜';
switch ($day) {
    case '月曜':
        echo '今日は月曜です。';
        break;
    case '火曜':
        echo '今日は火曜です。';
        break;
    default:
        echo '今日は水曜以降の日付です。';
        break;
}
?>

●PHPでの条件分岐の応用例

基本的な使い方を理解したところで、さらに高度な応用例を見ていきましょう。

○サンプルコード4:複雑な条件分岐

このコードでは、年齢が20歳以上であり、かつ会員であるかどうかを確認しています。

&&演算子は「かつ」を意味し、左右の条件が共に真でなければなりません。

年齢が20以上で、会員でもあるため、’会員で20歳以上です。’と表示されます。

<?php
$age = 20;
$member = true;

if ($age >= 20 && $member) {
    echo '会員で20歳以上です。';
} else {
    echo '条件に一致しません。';
}
?>

○サンプルコード5:条件分岐を利用したユーザー入力チェック

このコードは、ユーザーからの入力をチェックしています。

まず入力が空でないかを確認し、次に入力の長さが100文字を超えていないかを確認します。

これらの条件に一致しなければ、入力を受け付け、その内容を表示します。

<?php
$input = $_POST['input'];

if (empty($input)) {
    echo '入力がありません。';
} elseif (strlen($input) > 100) {
    echo '入力が長すぎます。';
} else {
    echo '入力を受け付けました:' . $input;
}
?>

○サンプルコード6:switch文を使ったメニュー作成

このコードは、ユーザーからのメニュー選択を処理するために switch 文を使用しています。

選択肢は商品A、商品B、商品Cで、それぞれに対応するメッセージを表示します。

選択肢以外の値が入力された場合は、’選択が無効です。’と表示します。

<?php
$choice = $_POST['menu'];

switch ($choice) {
    case '1':
        echo '商品Aを選択しました。';
        break;
    case '2':
        echo '商品Bを選択しました。';
        break;
    case '3':
        echo '商品Cを選択しました。';
        break;
    default:
        echo '選択が無効です。';
        break;
}
?>

●PHPの条件分岐における注意点と対処法

条件分岐はプログラムの中でも非常に重要な部分ですが、一部の注意点があります。

特にPHPにおいては、正しくない比較演算子の選択やNULLとの比較などが誤解を招くことがあります。

○サンプルコード7:適切な比較演算子の選択

このコードでは二つの変数を比較しています。

初めに==で比較すると、「等しい」と表示されます。これは==が値の比較のみ行うためです。

しかし===で比較すると、「等しくない」と表示されます。

これは===が値だけでなく型も比較するため、整数の0と文字列の’0’は等しくないと評価されるからです。

<?php
$var1 = 0;
$var2 = '0';

if ($var1 == $var2) {
    echo '等しい';
} else {
    echo '等しくない';
}

if ($var1 === $var2) {
    echo '等しい';
} else {
    echo '等しくない';
}
?>

○サンプルコード8:NULLとの比較

このコードでは、変数がNULLかどうかを比較しています。

==でも===でも結果は同じで、「NULLです」と表示されます。

しかし、これはNULLとの比較特有の性質で、他の値(例えば、0や空文字列)との比較では=====の結果は異なる可能性があります。

<?php
$var = NULL;

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

if ($var === NULL) {
    echo 'NULLです';
} else {
    echo 'NULLではありません';
}
?>

以上がPHPの条件分岐における主な注意点とその対処法です。

これらを理解し、条件分岐を正しく使用することが重要です。

●PHPの条件分岐のカスタマイズ方法

条件分岐をカスタマイズする方法は多々ありますが、ここでは特に役立つ二つ、三項演算子とNULL合体演算子の活用方法について説明します。

○サンプルコード9:三項演算子の活用

このコードでは、三項演算子を使って成績を判定しています。

三項演算子は (条件式) ? (真のときの値) : (偽のときの値) のように記述します。

この例では、スコアが60以上なら ‘合格’、それ以外なら ‘不合格’ と評価しています。

<?php
$score = 85;
$grade = ($score >= 60) ? '合格' : '不合格';

echo $grade;
?>

○サンプルコード10:NULL合体演算子の活用

このコードでは、NULL合体演算子を使ってユーザー名を設定しています。

NULL合体演算子は ?? で表され、左辺がNULLなら右辺の値を、それ以外なら左辺の値を返します。

この例では、$nameがNULLなので、$usernameには’ゲスト’が代入されます。

<?php
$name = NULL;
$username = $name ?? 'ゲスト';

echo $username;
?>

これらの演算子を使うことで、より簡潔かつ分かりやすいコードを書くことができます。

そして、これらはPHPの条件分岐の中でも特に便利なカスタマイズ方法の一部です。

まとめ

この記事では、PHPの条件分岐をマスターするための10のステップについて詳しく解説しました。

最初に基本的なif文とelse文の使い方から始め、さらにelseifを使った複数の条件設定、if文の入れ子構造とその使用例について説明しました。

その後、switch文による条件分岐の方法と、その多様性を活かしたメニュー作成のサンプルコードを提供しました。

さらに、適切な比較演算子の選択、NULLとの比較というような注意点についても触れ、それぞれの解決法をサンプルコードを交えて説明しました。

最後に、条件分岐をカスタマイズする方法として、三項演算子とNULL合体演算子の活用を紹介しました。

これらの知識を持つことで、あなたのPHPの条件分岐スキルは確実に向上し、より複雑で多様な問題に対応できるようになるでしょう。

学んだことをぜひ実践に活かしてみてください。

これからもあなたのPHP学習の旅が有意義なものとなることを願っています。