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

    +164

    1. 1
    $arParams["FILES_COUNT"] = intVal(intVal($arParams["FILES_COUNT"]) > 0 ? $arParams["FILES_COUNT"] : 5);

    Битрикс. Количество, так сказать, файлов.

    Запостил: franzose, 12 Сентября 2011

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

    • 5 в уме?
      Ответить
      • Меня больше позабавили intval'ы...
        Ответить
        • Выглядит конечно смешно, но предложите более красивый и краткий способ?
          Ответить
          • if (intVal($arParams["FILES_COUNT"]<=0)) {$arParams["FILES_COUNT"] = intVal(5)};
            Ответить
            • в таком случае $arParams["FILES_COUNT"]='123test' пройдет мимо вашего условия
              Ответить
              • А, точно, intval делается для любого результата.
                Тогда так:
                $arParams["FILES_COUNT"] = intVal($arParams["FILES_COUNT"]);
                if ($arParams["FILES_COUNT"]<=0) {$arParams["FILES_COUNT"] = 5};
                Ответить
          • ($arParams["FILES_COUNT"] = (int) $arParams["FILES_COUNT"]) > 0 or $arParams["FILES_COUNT"] = 5;
            Ответить
    • Меня терзает только один вопрос: почему 5, а не 3, 7, 42, <моё любимое число>?
      Ответить
      • потому что это не ваше любимое число
        Ответить
      • На логичный вопрос "А почему 5?" есть еще более логичный ответ "А почему бы и не 5...".
        Ответить
    • $arParams["FILES_COUNT"] = (int) intVal(intVal($arParams["FILES_COUNT"]) > 0 ?
      intVal($arParams["FILES_COUNT"]) :
      (int) 5);
      if (is_int($arParams["FILES_COUNT"])) { ... } // Чтоб наверняка
      Ответить

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