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

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

  • "1"

  • "2"

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


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

ЗЫ: хотя сейчас на это всем похер, а новые стандарты нивелируют эти понятия
 
Назад
Сверху Снизу