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

    +37

    1. 1
    2. 2
    if (isset($_GET['oneway']))
                $_SESSION['oneway'] = intval($_GET['oneway']) == 1 ? 1 : 0;

    Уточню : надо именно int, а не bool для API сервиса.
    На ум приходят 2 других более красивых способа нормализации. Может и ещё что-то есть.

    Запостил: kryoz, 21 Ноября 2012

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

    • if (isset($_GET['oneway'])) $_SESSION['oneway'] = max(0, min(1, intval($_GET['oneway'])));
      Ответить
      • не могу сказать, что однозначно лучше оригинала, но хотя бы читаемее.
        Вот этот вариант пока самый оптимальный:
        if (isset($_GET['oneway'])) $_SESSION['oneway'] = (int)(bool)$_GET['oneway'];
        Ответить
        • Если не критично значение $_GET['oneway'], то

          if (isset($_GET['oneway'])) $_SESSION['oneway'] = intval(intval($_GET['oneway']) === 0);
          Ответить

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