PHP с нуля. Урок #3.1. Другие операторы.

Что выведет тот код?

  • "1"

  • "2"

  • Хочу узнать ответ (не злоупотребляйте этим выбором -_-)


Результаты будут видны только после голосования.
Премиум
Статус
Оффлайн
Регистрация
3 Дек 2017
Сообщения
222
Реакции[?]
201
Поинты[?]
0
Не знаю, почему, но каким-то образом я написал тему про Арифметические операторы, но забыл про остальные.
Прошу прощения, исправляю:
Вы знаете оператор "=", но есть и более интересные: Вместо того, чтобы писать
Код:
$var1 = $var 1 + 5;
Вы можете поступить проще:
Код:
$var1 += 5;
Так вы можете делать с любым арифметическим оператором:
Код:
$var1 += 5; // Тоже самое, что $var1 = $var1 + 5;
$var1 -= 5; // Тоже самое, что $var1 = $var1 - 5;
$var1 *= 5; // Тоже самое, что $var1 = $var1 * 5;
$var1 /= 5; // Тоже самое, что $var1 = $var1 / 5;
$var1 %= 5; // Тоже самое, что $var1 = $var1 % 5;
Операторы сравнения сравнивают два значения, и зачастую используются внутри условных операторов.
Они возвращают true, если условие верно, или false, если не верно.
==Верно, если операнды равны
===Верно, если операнды равны и они одного типа
!= или <>Верно, если операнды не равны
!==Верно, если операнды не равны, или они не одного типа
>Верно, если первый операнд больше второго
<Верно, если второй операнд больше первого
<=Верно, если первый операнд меньше или равен второму
>=Верно, если первый операнд больше или равен второму
[TBODY] [/TBODY]
Например,
Код:
$var1 = 5;
$var2 = "55";
if ($var1 !== $var2) {
    echo "Не равен";
}
/* Выведет "Не равен", так как
$var1 типа int (целое число),
а $var2 типа "string" (строка),
поэтому оператор "!==" вернул true,
т.к. переменные не равны и у них разные типы данных. */
Логические операторы используются для комбинации условных выражений.
and или &&Верно, если первый оператор верный, ИЛИ второй оператор верный
or или ||Верно, если первый оператор верный, ИЛИ второй оператор верный
!Принимает 1 операнд (например, "!$var"). Верно, если операнд не верный
xorВерно, если либо первый, либо второй операнд верный, но не оба вместе
[TBODY] [/TBODY]
Кстати, вы можете объединить сколько угодно таких операторов, и можете использовать скобки, чтобы обозначить приоритет.
И небольшое домашнее задание:
что выведет этот код?
Код:
if (("5" === "true" || "5" != 5) && true == 1) {
    echo "1";
}
else {
    echo "2";
}
Постарайтесь "запустить код в голове", не запуская его на хостинге/песочнице.
Ответ в голосование:)
_________________________________________________________________________
Если у вас возникли вопросы - пишите в теме. Надеюсь, отвечу :)
Если вы нашли у меня ошибку - пишите в ЛС, чтобы не засорять тему - поправлю.
Если вы хотите дополнить меня - пишите в теме, либо в ЛС - добавлю, оставлю credits.
 
Последнее редактирование:
Эксперт
Статус
Оффлайн
Регистрация
12 Июн 2014
Сообщения
991
Реакции[?]
1,209
Поинты[?]
3K
Они возвращают TRUE, если условие верно, или FALSE - если не верно.
неверное представление. тут логика, а не целостные исчисления.... хотя в php это может быть и похер, но вот в С\С++ (особенно в С) эта разница очень очевидна бывает:
true\false - это логические данные приравненные к 1\0 и возвращают они именно логику: истина\ложь
TRUE\FALSE -это целостные числовые данные приравненные к 1\0 и принимающие значение Один и Нуль
по сути все так же как и с bool\BOOL - в первом логика, во втором целое число(int чаще всего, но в некоторых условностях может быть и UINT)

ЗЫ: хотя сейчас на это всем похер, а новые стандарты нивелируют эти понятия
 
Участник
Статус
Оффлайн
Регистрация
23 Фев 2017
Сообщения
612
Реакции[?]
507
Поинты[?]
0
Сверху Снизу