0Pricing
PHP Academy · レッスン

if、elseif、else

条件分岐を使ってPHPで処理を選択します。

「if、elseif、else」はCoddyKit上の無料PHP Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPHP Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 PHP Academyコースには全4レッスンが含まれています。

PHPの条件分岐

条件文を使うと、プログラムで判断を行えます。PHPには、分岐ロジックのための if、elseif、else が用意されています。

if () 内の条件は論理値として評価されます。truthy ならブロック内に進み、falsy ならスキップします。

基本的な if 文

最も単純な条件分岐です。条件が true のときだけコードを実行します。

<?php
$age = 20;

if ($age >= 18) {
    echo 'Adult';
}
// Output: Adult

if / else

条件が false の場合に実行する else 分岐を追加します。

<?php
$score = 45;

if ($score >= 50) {
    echo 'Pass';
} else {
    echo 'Fail';  // runs
}

elseif のチェーン

elseif を使って、複数の条件を順番にテストします。

<?php
$grade = 78;

if ($grade >= 90) {
    echo 'A';
} elseif ($grade >= 80) {
    echo 'B';
} elseif ($grade >= 70) {
    echo 'C';  // runs
} else {
    echo 'F';
}

比較演算子

条件で使用する演算子です。

  • == 等しい(弱い比較)
  • === 同一である(厳密な比較)
  • != 等しくない
  • < > より小さい/より大きい
  • <= >= 以下/以上

型ジャグリングによる予想外の動作を避けるため、=== を優先してください。

論理演算子

論理演算子を使って条件を組み合わせます。

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

if ($age >= 18 && $member) {
    echo 'Access granted';  // both true
}

if ($age < 18 || $member) {
    echo 'Also granted';    // one is true
}

if (!$member) {
    echo 'Not a member';
}

三項演算子

三項演算子は、単純な if/else を1行で簡潔に記述する方法です。

<?php
$age  = 20;
$status = ($age >= 18) ? 'adult' : 'minor';
echo $status;  // adult

// Null coalescing operator ?? (PHP 7+)
$name = $_GET['name'] ?? 'Guest';
echo $name; // 'Guest' if name not in URL

null合体代入

PHP 7.4では、変数が null または未設定の場合にのみデフォルト値を代入する ??= が追加されました。

<?php
$config = [];

$config['debug'] ??= false;
$config['timeout'] ??= 30;

var_dump($config);
// ['debug' => false, 'timeout' => 30]

if の代替構文

PHPは、HTMLテンプレート内で使用できるコロン構文もサポートしています。

<?php $loggedIn = true; ?>

<?php if ($loggedIn): ?>
    <p>Welcome back!</p>
<?php else: ?>
    <p>Please log in.</p>
<?php endif; ?>

宇宙船演算子

宇宙船演算子 <=> は2つの値を比較し、-1、0、1のいずれかを返します。並べ替えに最適です。

<?php
echo 1 <=> 2;  // -1 (left is less)
echo 2 <=> 2;  //  0 (equal)
echo 3 <=> 2;  //  1 (left is greater)

$nums = [3, 1, 4, 1, 5];
usort($nums, fn($a, $b) => $a <=> $b);
print_r($nums); // [1, 1, 3, 4, 5]

match と if

PHP 8の match は、長い if/elseif チェーンに代わる、より厳密な方法です。次のレッスンで学びます。if との主な違いは、match が厳密な比較を使用し、型ジャグリングを行わないことです。

クイックチェック

?? 演算子は何を行いますか。

まとめ: if/elseif/else

重要なポイントです。

  • if、elseif、else を使ってロジックを分岐します
  • 型ジャグリングを避けるため、== より === を優先します
  • 三項演算子 ?: は、1つの式による分岐を簡潔に記述します
  • ?? は、null合体によるデフォルト値の設定に使用します
  • HTMLテンプレートには代替のコロン構文を使用できます

次は switch 文と match 文です。

よくある質問

「if、elseif、else」レッスンは無料ですか?

はい。「if、elseif、else」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、PHP Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 PHP Academyコースには全4レッスンが含まれています。

「if、elseif、else」で何を学びますか?

条件分岐を使ってPHPで処理を選択します。 ブラウザで直接実行するハンズオンコードでPHP Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

PHP Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのPHP Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「if、elseif、else」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このPHP Academyレッスンでコードを書いて実行できますか?

はい。すべてのPHP Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. if、elseif、else
  2. SwitchとMatch文
  3. forとwhileループ
  4. foreachとループ制御
← PHP Academyに戻る