Это сайт — моя персональная записная книжка. Интересна мне, по большей части, история, своя жизнь и немного программирование.

Знание PHP

В рамках разговора о знании языка (ПХП, в данном случае), родился у меня такой пример:

var_dump(b"1" == 0b1);

Что тут будет — true или false и почему?

7 комментариев
Slach (slach.livejournal.com) 2014

Ох Евгений, зачем так долбить в мозг людям?
На вскидку parse error будет, я не помню что бы можно было b«1» писать безнаказанно =)

Олег Горбунов 2014

Будет true, но только в 5.4+ (или 5.5+ не помню точно)

Евгений Степанищев (bolknote.ru) 2014

Комментарий для Олег Горбунов:

true, да :) А почему :)

Олег Горбунов 2014

Комментарий для Евгения Степанищева:

Слева обьявление двоичной строки, справа двоичное целочисленное, автокастинг приводит обоих к целочисленным и сравнивает.
У меня есть другой пример!
var_dump(b«3» == «2»+0b1); =)

Евгений Степанищев (bolknote.ru) 2014

Комментарий для Олег Горбунов:

Ну, это-то совсем просто. У меня есть ещё такой:

var_dump(«09» == 09);

Падре 2014

Парни, наркотики убивают.

Евгений Степанищев (bolknote.ru) 2014

Тема вообще богатая :)

Например:

var_dump(b«01e0» == 0b1 + 0e0 — 009);