1. PHP / Говнокод #10126

    +71

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $var1 = "Строка";
    $var2 = true;
    
    var_dump($var1);
    var_dump($var2);
    if($var1 != $var2){
         echo "Не равны";
    }else{
         echo "Равны";
    }

    Недавно заметил странное поведение моего кода и вот что выяснилось.
    Исправил сравнением по типу !==.
    Не думал что такая вот хрень всплывет.

    Запостил: haker, 01 Мая 2012

    Комментарии (25) RSS

    • ага, не пустая строка == true
      Ответить
      • да конечно это понятно но все равно казус PHP... В JavaScript все нормально
        Ответить
        • всё задокументировано, так что несчитово :)
          Ответить
    • Это станартное поведения для многих языков с динамической типизацией: непустые строки в булевом контексте дают true. И в javascript также, и в python.
      Говнокод видимо в том, что вы сравниваете строки с логическими значениями вместо того, чтобы использовать строки в булевом контексте напрямую или таки сравнивать строки со строками
      Ответить
    • Обычно такие казусы являются сигналом об ошибки в логике программы
      Ответить
      • такие ошибки являются причиной ошибок в логике...
        программа ведь теперь отлично работает
        Ответить
    • rtfm
      Ответить
    • Динамическая типизация во всей красе.
      Ответить
    • Типобезопасному сравнению не учили?

      Школьники во всей красе.
      Ответить
    • Это пэхапе детка.
      Ответить
    • реальнэ haker...
      Ответить
    • показать все, что скрытоRTFM!
      Ответить
    • хакеры уже не те.
      Ответить
    • -Да, мамочка, ты классная блядь! Юрка принялся целовать маму взасос…
      Ответить
    • Эта история произошла со мной, когда мне едва исполнилось 18 лет. Я рос без отца, наверное, поэтому мне не хватало твердости в характере. Я был очень податливым и легко поддавался чужому влиянию.
      Ответить
    • Нет, главное к подружкам своим, таким же потаскушкам, она меня не ревновала, к проституткам каких иногда приводил прямо домой, в те дни, когда она была «занята» тоже, а тут, к матери родной ревнует!
      Ответить
    • - Ну вот, - отвечает, - это и есть моя главная проблема на сегодняшний день: как сделать так, чтобы даже поллюций не было.
      Ответить
    • Нет, главное к подружкам своим, таким же потаскушкам, она меня не ревновала, к проституткам каких иногда приводил прямо домой, в те дни, когда она была «занята» тоже, а тут, к матери родной ревнует!
      Ответить
    • Шел очередной год моего обучения, если сказать точнее, то начало третьего года. В нашу группу перевелся парень Слава, как он сказал, в прошлой группе у него не задались отношения с одногрупниками
      Ответить
    • Рассказ Витька Вечером после работы и учёбы я наконец дошёл до дома, после вчерашнего в голове ещё остался шум,но не стал покупать выпивки,думал пройдёт так. Меня встретил дядя Миша,он стоял курил в коридоре
      Ответить
    • О, как же она сосала, она то водила губами по моему члену, то просто заглатывала его глубоко, то лизала его как мороженое, в общем я был в восторге.
      Ответить

    Добавить комментарий