В этой части учебника будут рассказываться как работать с оператор условия в PHP 7, например с if, swith и тернарной операций, но самое главное рассмотрим тип данных bool, или булевый тип данных.
Булевый тип данных:
Булевый тип данных, можно ещё назвать двоичным, так как он имеет только два значения, true или false, до словно это значит правда или ложе, также можно сказать 1 или 0, но всё же лучше говорить по английски, так как надо.
Операторы сравнений:
Буливый тип данных можно получить использовав в PHP операторы условий или операторы сравнений, их достаточно много в PHP.
1 2 3 4 5 6 7 8 9 10 11 | $a = 10; $b = 3; $c = $a > $b // $a больше $b, $c будет равен true $c = $a < $b // $a меньше $b, $c будет равен false $c = $a >= $b // $a больше или равно $b, $c будет равен true $c = $a <= $b // $a меньше или равно $b, $c будет равен false $c = $a == $b // $a равно $b, $c будет равен false $c = $a != $b // $a не равно $b, $c будет равен true $c = $a === $b // $a строго равно $b, $c будет равен false $c = $a !== $b // $a строго не равно $b, $c будет равен true |
В целом думаю тут всё понятно, единственное, надо сказать в чём различие между строго равно и обычным равно, а различие в том, что строго равно ещё проверяет тип данных.
То есть если вы сравниваете в PHP, к примеру, true и 10, то в итоге вы получите true, а если будите строго сравнивать, то получите false, потому что разные типы данных.
1 2 | 10 == true; // Будет равно true 10 === true; // Будет равно false |
Точно также с оператором не равно.
Логические операторы:
Есть ещё в PHP логические операторы, их всего три, и, или и не.
1 2 3 4 5 6 | $a = true; $b = false; $c = $a && $b; // Логическое и, возвращает true, если два значение равно true, $c равно false $c = $a || $b; // Логическое или, возвращает true, если хотя бы одно значение равно true, $c равно true $c = !$a; // Логическое не, просто отзеркаливает значение |
Думаю с первыми двумя всё понятно, а вот с последним не очень, он просто превращает значение в противоположное, то есть если было True, то в Fslse и наоборот.
PHP условие:
В PHP есть два вида условий, первый это if, второй switch, мы оба рассмотрим.
PHP оператор if else:
Для начала посмотрим самый простое условие оператор, как работать с if.
1 2 3 4 5 6 7 8 | $a = 10; $b = 1; // если $a больше $b if ($a > $b) { // Выводим на экран $a больше $b echo '$a больше $b'; } |
Это код выводит надпись «$a больше $b«, если $b будет больше или равно, то он не чего не выведет.
Также есть ещё условие иначе, то есть если первый условие не верно, возвращает false, то будет выводить на экран что то другое, пишется оно так.
1 2 3 4 5 6 7 8 9 10 11 | $a = 10; $b = 10; // если $a больше $b if ($a > $b) { // Выводим это на экран echo '$a больше $b'; } else { // иначе // Выводим на экран $a меньше или равно $b echo '$a меньше или равно $b'; } |
Думаю тут всё понятно, в этом случаи выводит «$a меньше или равно $b«, так как что $a, что $b, у нас равны 10.
Но также есть возможность просто писать несколько условий, делается это в PHP через условие if else, а точнее через elseif.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $a = 10; $b = 10; // если $a больше $b if ($a > $b) { // Выводим это на экран echo '$a больше $b'; } elseif ($a == $b) { // если $a равно $b // Выводим на экран $a равно $b echo '$a равно $b'; } else { // иначе // Выводим на экран $a меньше $b echo '$a меньше $b'; } |
Этих условий может быть хоть сколько, бесконечно, в нашем случае выводит на экран «$a равно $b«.
Также если вы пишите это внутри HTML кода, то рекомендую писать это специальным образом, вот так.
1 2 3 4 5 6 7 8 9 10 11 | // если $a больше $b if ($a > $b) : // Выводим это на экран echo '$a больше $b'; elseif ($a == $b) : // если $a равно $b // Выводим на экран $a равно $b echo '$a равно $b'; else : // иначе // Выводим на экран $a меньше $b echo '$a меньше $b'; endif; |
В том дело, что ваш код не всегда будут смотреть люди которые знают PHP, а к примеру, это может быть простой верстальщик, который вообще не знает языки программирования, таким образом ему будет проще понять.
PHP оператор switch:
Есть ещё оператор switch в PHP, про него не чего особо сказать, единственное, он сравнивает равенство значений и всё, поэтому я покажу только, как он пишется.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | switch ($a) { // Если $a равно 0 case 0: // Выводит на экран $a равно 0 echo '$a равно 0'; // Конец, остальные условия не будут проверятся break; // Если $a равно 1 case 1: // Выводит на экран $a равно 1 echo '$a равно 1'; // Конец, остальные условия не будут проверятся break; // Если $a равно 2 case 2: // Выводит на экран $a равно 2 echo '$a равно 2'; // Конец, остальные условия не будут проверятся break; } |
Как видите всё очень просто, только надо сказать что такое break, он просто выходит из switch, после того как условие выполнилось.
Подробнее про switch посмотрите лучше здесь.
PHP тернарный оператор:
Про него тоже практически нечего сказать, это просто сокращение от if else, поэтому покажу только как происходить в php использование тернарного оператора.
1 2 | $str = $a > $b ? '$a больше $b' : '$a меньше или равно $b'; echo $str; |
Сначала идёт условие, после вопросительного знака, что должно присвоить переменной, если условие равно true, после двойных точек, что должно присвоить переменной случае false.
Как то так, думаю всё просто, если нет, то пишите в комментариях.
Вывод:
Тут рассматривал самый главный оператор условия в PHP if, также не много рассмотрели операторы switch и тернарный, ну и самое главное посмотрели что такое булевый тип данных, в чём разница в PHP между true b false, также какие бывают операторы сравнений и логические.