История изменений
Исправление
Debasher,
(текущая версия)
:
Сейчас будет демонстрация того, какими языки быть не должны:
echo ("foo" > 2);
не вернёт ничего, наверное потому что нельзя сравнивать стринг с интом? Хорошо, странно что нет ошибки правда. Но давай поменяем знак, и мы получим.. 1! Почему?! Да потому что тут неявное преобразование, а при строковом преобразовании true преобразуется в '1', а false в пустую строку ""!
NULL < -1 && NULL == 0
Тут без комментариев, только аватарка CrossFire.
"foo" == TRUE, "foo" == 0;
И TRUE != 0 :-)
Тернарный оператор левоассоциативен!
Есть ==, есть ===. Зачем второй - понятно, но для типобезопасного < нет ничего. '123' < '0124'
В php есть только ассоциативные массивы.
[] может быть применён к любой переменной, не только к строкам и массивам. Он возвращает null и не выдаёт предупреждение.
Таких примеров можно привести множество, если бы за это платили деньги. .
Исправление
Debasher,
:
Сейчас будет демонстрация того, какими языки быть не должны:
echo ("foo" > 2);
не вернёт ничего, наверное потому что нельзя сравнивать стринг с интом? Хорошо, странно что нет ошибки правда. Но давай поменяем знак, и мы получим.. 1! Почему?! Да потому что при строковом преобразовании true преобразуется в '1', а false в пустую строку ""!
NULL < -1 && NULL == 0
Тут без комментариев, только аватарка CrossFire.
"foo" == TRUE, "foo" == 0;
И TRUE != 0 :-)
Тернарный оператор левоассоциативен!
Есть ==, есть ===. Зачем второй - понятно, но для типобезопасного < нет ничего. '123' < '0124'
В php есть только ассоциативные массивы.
[] может быть применён к любой переменной, не только к строкам и массивам. Он возвращает null и не выдаёт предупреждение.
Таких примеров можно привести множество, если бы за это платили деньги. .
Исправление
Debasher,
:
Сейчас будет демонстрация того, какими языки быть не должны:
echo ("foo" > 2);
не вернёт ничего, наверное потому что нельзя сравнивать стринг с интом? Хорошо, странно что нет ошибки правда. Но давай поменяем знак, и мы получим.. 1! Почему?! Да потому что при строковом преобразовании true преобразуется в '1', а false в пустую строку ""!
NULL < -1 && NULL == 0
Тут без комментариев, только аватарка CrossFire.
"foo" == TRUE, "foo" == 0;
И TRUE != 0 :-)
Тернарный оператор левоассоциативен!
Есть ==, есть ===. Зачем второй - понятно, но для типобезопасного < нет ничего. «123» < «0124»
В php есть только ассоциативные массивы.
[] может быть применён к любой переменной, не только к строкам и массивам. Он возвращает null и не выдаёт предупреждение.
Таких примеров можно привести множество, если бы за это платили деньги. .
Исходная версия
Debasher,
:
Сейчас будет демонстрация того, какими языки быть не должны:
echo ("foo" > 2);
не вернёт ничего, наверное потому что нельзя сравнивать стринг с интом? Хорошо, странно что нет ошибки правда. Но давай поменяем знак, и мы получим.. 1! Почему?! Да потому что при строковом преобразовании true преобразуется в «1», а false в пустую строку ""!
NULL < -1 && NULL == 0
Тут без комментариев, только аватарка CrossFire.
"foo" == TRUE, "foo" == 0;
И TRUE != 0 :-)
Тернарный оператор левоассоциативен!
Есть == Есть === Зачем второй - понятно, но для типобезопасного < нет ничего. «123» < «0124»
В php есть только ассоциативные массивы.
[] может быть применён к любой переменной, не только к строкам и массивам. Он возвращает null и не выдаёт предупреждение.
Таких примеров можно привести множество, если бы за это платили деньги. .