Логические операции php
Прежде чем мы будем обсуждать логические операции в php, рассмотрим таблицу истинности:
У нас на входе есть два операнда X1 и X2, они могут принимать значения 0 или 1. 0 - значит "ложь", 1 - "истина".
Давайте же узнаем о 4 основных логических операциях и что они значат:
- X1, X2 - обычные переменные.
- !X1 - логическое отрицание, если X1 = 0, то 1, а если X1 = 1, то 0 это просто.
- X1 || X2 - логическое "или", если одно значение X1 или X2 равно 1, то и операция равна единице, только если X1 и X2 равно 0 и операция будет равна 0.
- X1 && X2 - логическое "и", результат 1, только когда оба значения X1 и X2 равны 1.
- X1 ^ X2 - логическое исключающее "или", если хоть одно значение у X1 и X2 равно 1, результат будет равен 1.
Перейдём к практике, создадим 2 переменные x и y, а также две булевские переменные(которые могут применять значения 0 или 1).
<?php $x = 1; $y = 2; $rez1 = $x > $y; $rez2 = $x < $y; $rez3 = $x == $y; $rez4 = $x >= $y; echo "$x > $y = $rez1
"; echo "$x < $y = $rez2
"; echo "$x == $y = $rez3
"; echo "$x >= $y = $rez4
";
Выведем результат и получим на экране:
1 > 2 = 1 < 2 = 1 1 == 2 = 1 >= 2 =
Где мы получили истину - результат 1, а где 0 (в php пустое значение и есть 0) - это ложь. Тут все понятно, давайте перейдём к более сложным примерам.
Логическое "отрицание"
<?php $x = 1; $y = 2; $res5 = !($y > $x); echo "!($y > $x) = $rez5
";
В результате получим 0, логическое отрицание меняет истину на ложь и наоборот.
Логическое "или"
<?php $x = 1; $y = 2; $rez6 = ($x > $y) || ($x == $x); echo "($x > $y) || ($x == $x) = $rez6
";
Получим истину, ведь одно из выражений верное ($x == $x).
Логическое "и"
<?php $x = 1; $y = 2; $rez7 = ($x > $y) && ($x == $x); echo "($x > $y) && ($x == $x) = $rez7
";
Получим ложь, ведь одно из выражений неверное ($x > $y), чтобы получить истину, оба должны быть истинными.
Логическое "отрицающее или"
<?php $x = 1; $y = 2; $rez8 = ($x > $y) ^ ($x == $x); echo "($x > $y) ^ ($x == $x) = $rez8
";
Получим истину, ведь одно из выражений истина.
Далее вам следует узнать о логической конструкции if-else, об этом читайте в - if-else в php с примерами.
Оставить комментарий