Logical Operators Part 1
CoddyのPHPジャーニー「基礎」セクションの一部 — レッスン 25/71。
論理演算子 は、複数のブール式を1つに組み合わせることができます。これは、複数の条件を同時にチェックする必要がある場合に不可欠です。
AND 演算子 (&&) は、両方 の条件が true の場合にのみ true を返します:
<?php
$age = 25;
$hasLicense = true;
$canDrive = $age >= 18 && $hasLicense;
var_dump($canDrive); // bool(true)
$age = 16;
$canDrive = $age >= 18 && $hasLicense;
var_dump($canDrive); // bool(false) - 年齢の条件が失敗
?>OR 演算子 (||) は、少なくとも 1 つ の条件が true の場合に true を返します:
<?php
$isWeekend = true;
$isHoliday = false;
$dayOff = $isWeekend || $isHoliday;
var_dump($dayOff); // bool(true) - weekend が true
$isWeekend = false;
$dayOff = $isWeekend || $isHoliday;
var_dump($dayOff); // bool(false) - 両方が false
?>&& を「両方が true でなければならない」と考え、|| を「少なくとも一つが true でなければならない」と考えなさい。次のレッスンでは、NOT 演算子と複数の論理演算子を組み合わせる方法について学びます。
チャレンジ
簡単入力から4つの値を読取:整数 age、文字列 hasTicket("true" または "false" のいずれか)、文字列 isMember("true" または "false" のいずれか)、および文字列 hasInvitation("true" または "false" のいずれか)。
文字列の値を "true" と比較してブール値に変換します。
以下の2つの条件を評価し、それぞれの結果を var_dump() を使用して新しい行に印刷します:
- イベントに入場できるかを確認:少なくとも18歳以上であるかつチケットを持っている
- 無料入場が得られるかを確認:メンバーであるまたは招待状を持っている
例:
入力が 25、true、false、および true の場合、出力は次のようになります:
bool(true)
bool(true)説明:
- 25 >= 18 かつ hasTicket が true → true
- isMember が false または hasInvitation が true → true
チートシート
AND 演算子 (&&) は、両方の条件が true の場合にのみ true を返します:
<?php
$age = 25;
$hasLicense = true;
$canDrive = $age >= 18 && $hasLicense;
var_dump($canDrive); // bool(true)
?>OR 演算子 (||) は、少なくとも一つの条件が true の場合に true を返します:
<?php
$isWeekend = true;
$isHoliday = false;
$dayOff = $isWeekend || $isHoliday;
var_dump($dayOff); // bool(true)
?>自分で試してみよう
<?php
// 入力値を読み込む
$age = intval(fgets(STDIN));
$hasTicket = trim(fgets(STDIN));
$isMember = trim(fgets(STDIN));
$hasInvitation = trim(fgets(STDIN));
// TODO: 文字列の値を "true" と比較して boolean に変換する
// TODO: その人がイベントに入場できるか確認する(18歳以上 かつ チケットを持っている)
// TODO: その人が無料入場できるか確認する(メンバーである または 招待状を持っている)
// var_dump() を使用して結果を出力する
?>このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators