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

    +145

    1. 1
    if ($test_domain->num_rows or true )

    Обычная проверка на количество строк в запросе... Видимо, не всегда попадало в условие, и автор решил добавить or)

    Запостил: WladySpb, 22 Июля 2015

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

    • не нравится or, || как-то каноничнее, что ли, хотя может я и ошибаюсь
      Ответить
      • Наверно, это просто привычка сишника.
        А вообще, фигня вида a+b смотрится лучше, чем a plus b, т.к. сразу видно, где имя переменной, а где - знак опереций.
        Ответить
      • не то чтобы каноничнее, а уместнее в большинстве случаев. and, or и тд нужны когда нужно их выполнить в последнюю очередь в выражении, приоритет у них самый низкий. хотя того же эффекта можно добиться добавлением скобок.

        вот например if ( $x = hz() and hz2() ) { ... } сначала присвоит хз иксу и если получилось не емпти то проверит хз2 и если там тоже не емпти то условие даст тру. если бы был &&, то иксу бы присвоилось хз энд хз2. хотя того же эффекта можно добиться скобками: ($x = hz()) && hz2().

        в общем даже операторы присвоения круче него, $x = true and false будет тру. вероятно есть ситуации где этоможно использовать. я за всю историю один раз только с помощью энда выкрутился, не помню что там было, помню что либо 2 лишних строки бы пришлось написать либо с ним, скобки не помогали
        Ответить
    • Это пыходебаг. Так надо.
      Ответить
      • К сожалению ,нет... Это прод)
        Ответить
        • ну и что? может изначально это условие было, потом решили убрать эту проверку.
          Ответить

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