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: Adultif / 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 URLnull合体代入
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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- if、elseif、else
- SwitchとMatch文
- forとwhileループ
- foreachとループ制御