PHP 7 оператор условая и операторы сравнения
В этой части учебника будут рассказываться как работать с оператор условия в 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, потому что разные типы данных.
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 кода, то рекомендую писать это специальным образом, вот так.
Default1 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, про него не чего особо сказать, единственное, он сравнивает равенство значений и всё, поэтому я покажу только, как он пишется.
Default1 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 использование тернарного оператора.
Default$str = $a > $b ? ‘$a больше $b’ : ‘$a меньше или равно $b’; echo $str; |
Сначала идёт условие, после вопросительного знака, что должно присвоить переменной, если условие равно true, после двойных точек, что должно присвоить переменной случае false.
Как то так, думаю всё просто, если нет, то пишите в комментариях.
Вывод:
Тут рассматривал самый главный оператор условия в PHP if, также не много рассмотрели операторы switch и тернарный, ну и самое главное посмотрели что такое булевый тип данных, в чём разница в PHP между true b false, также какие бывают операторы сравнений и логические.
Предыдущая часть Следующая часть
Подписываетесь на соц-сети:
Оценка:
(Пока оценок нет)
Загрузка. ..Поделится:
Пока кнопок поделиться нетДополнительно:
Операторы сравнения в PHP. Сравнение строк, чисел и других типов.
Операторы сравнения в PHP. Сравнение строк, чисел и других типов.Начало
Зачем нужен PHPУстановка OpenServerСоздание файла .htaccessСинтаксис PHPПеременныеАрифметические операторыТипы данныхПриведение типовСтроки и кавычкиКонстанты
Другие операторы
Оператор присваиванияИнкремент и декрементОператор конкатенации
Условия
Операторы сравненияОператор IF ELSEТернарный операторЛогические операторыОператор switch
Массивы
МассивыРазмер массиваОбъединение массивовПреобразование массивов
Циклы
Цикл FOREACHЦикл WHILEЦикл DO … WHILEЦикл FORПрерывание циклов
Функции
Встроенные функцииПользовательские функцииПроверка на существование и пустоту
Формы
Обработка формПередача массивов через формуДинамические страницы
Файлы
Подключение файловАбсолютные и относительные путиРабота с файламиИнформация о файле
С помощью операторов сравнения мы можем сравнивать значения по различным критериям. Результат сравнения почти всех операторов — булев true/false:
<?php // 5 больше 1, поэтому в $var будет true $var = 5 > 1; // 5 не больше 10, поэтому в $var будет false $var = 5 > 10;
$a == $b | Истина, если $a равна $b после изменения типов. |
$a === $b | Истина, если $a равна $b и имеет тот же тип. |
$a != $b | Истина, если $a не равна $b после преобразования типов. |
$a <> $b | Истина, если $a не равна $b после преобразования типов. |
$a !== $b | Истина, если $a не равна $b или они разных типов. |
$a < $b | Истина, если $a меньше $b. |
$a > $b | Истина, если $a больше $b. |
$a <= $b | Истина, если $a меньше или равна $b. |
$a >= $b | Истина, если $a больше или равна $b. |
$a <=> $b | Возвращает -1, 0 или 1 когда $a соответственно меньше, больше или равно $b. Доступно с PHP 7. |
Заметьте, операторы === и !== сравнивают не только значение, но и тип переменных, а == и != перед сравнением приводят значения к одному типу.
Задача
Определите, какое значение будет сохранено в переменную в каждом примере.
<?php $a = 5 > 1; // true $a = 5 == 1; // ? $a = 5 != 9; // ? $a = 3 <> 3; // ? $a = 9 < 3; // ? $a = 5 + 1; // ? $a = 1 <= 2; // ? $a = -10 >= 5; // ? $a = 0 == 1; // ?
<?php $a = 5 > 1; // true $a = 5 == 1; // false $a = 5 != 9; // true $a = 3 <> 3; // false $a = 9 < 3; // false $a = 5 + 1; // 6 $a = 1 <= 2; // true $a = -10 >= 5; // false $a = 0 == 1; // false
Назад
Далее
Комментарии
Разница между операторами «не равно» и != в PHP
спросил
Изменено 2 года, 6 месяцев назад
Просмотрено 10 тысяч раз
Есть ли в PHP разница между операторами !=
и <>
?
В инструкции указано:
$a != $b Не равно TRUE, если $a не равно $b после подтасовки типов.$a <> $b Не равно TRUE, если $a не равно $b после жонглирования типами.
Я думаю, что нет больших различий, но мне любопытно.
- php
- операторы
В основной реализации Zend разницы нет. Вы можете получить его из описания Flex сканера языка PHP:
"!="|"<>" { вернуть T_IS_NOT_EQUAL; }
Где T_IS_NOT_EQUAL
— сгенерированный токен. Таким образом, синтаксический анализатор Bison не различает токены <>
и !=
и обрабатывает их одинаково:
%nonassoc T_IS_EQUAL T_IS_NOT_EQUAL T_IS_IDENTICAL T_IS_NOT_IDENTICAL %nonassoc '<' T_IS_SMALLER_OR_EQUAL '>0' T_IS_GREATER_OR_EQUAL
Они одинаковые. Однако есть также операторы !==
и ===
, которые проверяют точное равенство, определяемое значением и типом .
<>
означает больше или меньше. !=
означает не равно. Они в основном означают одно и то же.
Как все говорят, они идентичны, один из одной языковой ветки C-style/shell, один из некоторых других, включая MySQL, который в прошлом был сильно интегрирован.
<>
следует рассматривать как синтаксический сахар, синоним
, который является правильным стилем PHP для не-равно.
Далее подчеркивается функция идентификации тройного символа !==
.
Операторы <>
и !=
одинаковы.
Однако из соображений стиля я предпочитаю использовать <>
при работе с числовыми переменными .
То есть, если:
-
$a
— целое число -
$b
— целое число
вместо запроса:
// если $a не равно $b если ($а != $б)
Я спрошу:
// если $a меньше или больше $b если ($а <> $б)
Это визуальная подсказка/напоминание в моем коде о том, что
и $b
являются определенно оба должны быть числовыми , а не один или оба преднамеренно строк
.
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google Зарегистрироваться через Facebook Зарегистрируйтесь, используя электронную почту и парольОпубликовать как гость
Электронная почтаТребуется, но не отображается
Опубликовать как гость
Электронная почтаТребуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания и подтверждаете, что прочитали и поняли нашу политику конфиденциальности и кодекс поведения.
Разница между операторами (=), (==) и (===) в PHP
NDUKWE CHIDERA K.Бесплатный курс собеседования по проектированию систем их интервью по системному дизайну. Выделитесь на собеседованиях по проектированию систем и получите работу в 2023 году благодаря этому популярному бесплатному курсу.
Операторы в PHP бывают разных типов, например:
- Арифметика
- Назначение
- Сравнение
- Увеличение/уменьшение
- Логический
- Строка
- Массив
- Операторы условного присваивания
Эти типы операторов имеют список различных операторов, которые имеют разные функции. В этом кадре мы рассмотрим некоторые операторы в типах присваивания и сравнения.
Оператор
=
Этот знак равенства обычно известен как оператор присваивания . Он присваивает значение того, что находится в правой части выражения, левой стороне.
Код
$aFew =2;
$некоторые = 4;
$many = $some + $aFew;
эхо $aFew . ',';
echo $some .',';
эхо $много;
?>
Знак равенства принимает только переменную и присваивает ее другой переменной или значению.
==
оператор Это оператор сравнения , который возвращает либо true
, либо false
путем сравнения значений переменных с обеих сторон.
Возвращает
true
, когда значения с обеих сторон совпадают. В противном случае возвращается.
false
Код
$aFew = 4;
$некоторые = "4";
if($some == $aFew ){
echo "Значение с обеих сторон одинаковое.";
}
?>
В коде выше вы видите, что логически 4
не может быть равно "4"
. Но с оператором ==
он оценивается как true
. Оператор ==
просто сопоставляет значения двух переменных и не учитывает, к какому типу данных они относятся.
Оператор
===
Оператор сравнения с тройным знаком равенства не только проверяет, равны ли переменные по значению, но также подтверждает, что они имеют один и тот же тип, прежде чем вернуть истина
или ложь
.
Код
$aFew = 4;
$некоторые = 4;
$много = "4";
if($some === $many ){
echo "Два значения одинаковы";
}
if($some === $aFew ){
echo "Два значения одинаковы";
}
/* первый оператор if() оценивается как «ложь»
, поэтому наш эхо-оператор не выполняется*/
?>
Заключение
- Оператор равенства присваивания
=
только присваивает значения. - Равенство
==
не присваивает значения, а сравнивает их без проверки их типов данных. - Оператор тройного знака равенства
===
не будет выполнять присваивание, но проверит равенство значений и типа данных.