PHPのelseifの完全マスター!7つのステップと具体的な例

PHPのelseifステートメントの学習を図解するイラストPHP
この記事は約7分で読めます。

 

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

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

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

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

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

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

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

はじめに

この記事を読むことで、PHPのelseifステートメントを使って条件分岐を行うスキルを身につけることができます。

具体的なサンプルコードと共に、その使い方や注意点、さらにはカスタマイズ方法まで徹底的に解説していきます。

●PHPとは

PHP(Hypertext Preprocessor)は、Webサーバー上で動作するスクリプト言語の一つです。

主にサーバーサイドで動作し、HTMLを動的に生成するために使用されます。

PHPはシンプルながらもパワフルな言語で、初心者でも比較的簡単に学ぶことができます。

●条件分岐とは

条件分岐とは、ある条件を満たすかどうかによってプログラムの実行フローを変えることです。

PHPにおける条件分岐には主にif、else、そして本記事の主題であるelseifステートメントが用いられます。

●PHPのelseifステートメントの基本

PHPの条件分岐におけるelseifステートメントは、ifステートメントの条件が満たされない場合に次にチェックされる条件を指定するためのステートメントです。

○elseifステートメントの基本形

基本的な形は次のようになります。

if ($condition1) {
    // $condition1が真(true)のときに実行する処理
} elseif ($condition2) {
    // $condition1が偽(false)で、$condition2が真(true)のときに実行する処理
} else {
    // $condition1と$condition2両方が偽(false)のときに実行する処理
}

○elseifステートメントの使用例

具体的な使用例を見てみましょう。

ここでは、変数$numの値が0より大きいか、0か、0より小さいかを判定するコードを書いてみます。

$num = 0; // $numに0を代入

if ($num > 0) {
    echo "この数は0より大きいです。";
} elseif ($num == 0) {
    echo "この数は0です。";
} else {
    echo "この数は0より小さいです。";
}

このコードは$numが0の場合、「この数は0です。」と出力します。

$numの値を変えて実行すると、その値が0より大きいか、0より小さいかによって出力結果が変わります。

●PHPのelseifステートメントの実践的な使い方

それでは、より具体的な使い方を見ていきましょう。

具体的には、年齢、等級、ユーザー種別による条件分岐のコード例を紹介します。

○サンプルコード1:年齢による条件分岐

以下のサンプルコードでは、年齢に応じたメッセージを表示する処理を行っています。

この例では、年齢を判定し、それぞれの年齢層に合わせたメッセージを表示しています。

$age = 20; // $ageに20を代入

if ($age < 13) {
    echo "あなたは子供です。";
} elseif ($age < 20) {
    echo "あなたは未成年です。";
} elseif ($age < 65) {
    echo "あなたは成人です。";
} else {
    echo "あなたは高齢者です。";
}

このコードを実行すると、「あなたは成人です。」と出力されます。

これは、変数$ageが20であり、13歳以上20歳未満の未成年ではなく、20歳以上65歳未満の成人であるためです。

$ageの値を変更すると、その値に応じた適切なメッセージが出力されます。

○サンプルコード2:等級による条件分岐

次に、等級による条件分岐を扱ったサンプルコードをご覧ください。

ここでは、ユーザーの等級を判定し、それに応じたメッセージを表示します。

$grade = 'B'; // $gradeに'B'を代入

if ($grade == 'A') {
    echo "あなたは最高ランクのAです。";
} elseif ($grade == 'B') {
    echo "あなたは高ランクのBです。";
} elseif ($grade == 'C') {
    echo "あなたは中ランクのCです。";
} else {
    echo "あなたのランクは未定義です。";
}

このコードを実行すると、「あなたは高ランクのBです。」という結果が出力されます。

変数$gradeの値が’B’であるためです。もし$gradeの値が’A’ならば、「あなたは最高ランクのAです。」と出力され、’C’ならば、「あなたは中ランクのCです。」と出力されます。

また、’A’、’B’、’C’以外の値が入っている場合は、「あなたのランクは未定義です。」と出力されます。

○サンプルコード3:ユーザー種別による条件分岐

最後のサンプルコードでは、ユーザー種別による条件分岐を行います。

この例では、ユーザーの種別を判定し、それに応じたメッセージを表示します。

$userType = 'admin'; // $userTypeに'admin'を代入

if ($userType == 'admin') {
    echo "あなたは管理者です。";
} elseif ($userType == 'member') {
    echo "あなたは会員です。";
} else {
    echo "あなたのユーザータイプは未定義です。";
}

このコードを実行すると、「あなたは管理者です。」と出力されます。

これは、変数$userTypeの値が’admin’であるためです。

もし$userTypeの値が’member’ならば、「あなたは会員です。」と出力されます。

また、’admin’、’member’以外の値が入っている場合は、「あなたのユーザータイプは未定義です。」と出力されます。

●注意点と対処法

PHPのelseifステートメントを使う際には、いくつか注意すべき点があります。

○elseifステートメントの注意点

1つ目の注意点は、elseifステートメントは、それより前のifステートメントやelseifステートメントの条件が偽で

あった場合にのみ評価されるということです。

つまり、一つのif文内で複数のelseifステートメントを使用する場合、最初の真の条件に一致した時点でその後のelseifステートメントは評価されません。

2つ目の注意点は、elseifステートメントの条件式が偽だった場合、その後のelseステートメント(もしあれば)が実行されるということです。

これは、elseステートメントはその前のすべてのifステートメントやelseifステートメントの条件が偽であった場合にのみ実行されるためです。

○注意点の対処法

これらの注意点を解決する対策として、まず条件式の順序をよく考えて設定することが大切です。

より具体的な条件を先に配置し、抽象的な条件を後に配置することで、意図した動作を得ることが可能になります。

また、状況によっては、ifステートメントだけを使用し、elseifステートメントを使わないという選択もあります。

それぞれのifステートメントは独立しているため、一つのifステートメントの結果が他のifステートメントの評価に影響を与えることはありません。

ただし、この方法はプログラムの読みやすさや効率性に影響を与える可能性があるため、適切に使用することが重要です。

●PHPのelseifステートメントのカスタマイズ方法

PHPのelseifステートメントは、その基本的な使用方法だけでなく、さまざまなカスタマイズ方法も提供しています。

○複数のelseifステートメントの使用

一つのifステートメント内に複数のelseifステートメントを使用することが可能です。

これにより、3つ以上の条件を比較することが可能になります。

ただし、上述の通り、最初の真の条件に一致した時点でその後のelseifステートメントは評価されません。

○elseステートメントとの併用

elseifステートメントは、elseステートメントと併用することも可能です。

elseifステートメントのすべての条件が偽であった場合に、elseステートメント内のコードが実行されます。

これにより、どの条件も満たさない場合のデフォルトの動作を定義することができます。

まとめ

以上、PHPのelseifステートメントの詳細な解説を行ってきました。

その使い方、実装のポイント、具体的なサンプルコードとともに解説しました。

PHPのelseifステートメントは、コードの流れを制御する強力なツールです。

しかし、その使用には注意が必要です。

特に、条件の順序と、条件が真の時点でその後の条件が評価されないという特性を理解することが重要です。

これらを理解して、PHPのelseifステートメントを効果的に使用してください。