LINUX.ORG.RU

История изменений

Исправление 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 и не выдаёт предупреждение.

Таких примеров можно привести множество, если бы за это платили деньги. .