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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if ("any string" == 0) {
        echo 'php govno';
    } else {
        echo 'php ne govno';
    }

    Баян, как с вложенным тернарным оператором?

    Запостил: vistefan, 05 Октября 2017

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

    • echo (condition ? 'yeah!' : ("any string" == 0 ? 'php govno' : 'php ne govno'));

      а вообще вложенные тернарные операторы зло
      Ответить
      • > а вообще вложенные тернарные операторы зло
        Почему?
        Ответить
        • На понимание требуется больше времени, сложнее дебажить , хотя можно записать и так:
          value = CondFirst()  ? value1 : (
                  CondSecond() ? value2 : (
                  CondThird()  ? value3  :
                                   valueDefault));
          Ответить
          • Тем временем:
            - тернарник нормального человека https://ideone.com/tNlUOJ
            - тернарник пыхокурильщика https://ideone.com/kCRSH4
            Ответить
            • В случае с php лучше в скобки, т.к. вычисляться всё начнет справа налево
              true ? 1 : true ? 2 : true ? 3 : true ? 4 : 5;

              выведет 4
              Ответить
            • Разработчики PHP создали опасный прецедент. А вдруг ещё в каком-нибудь ЯП «неправильный» приоритет? А вдруг в новой версии компилятора/интерпретатора приоритет изменится?
              Ответить
              • Разработчики PHP создали опасный прецедент когда разработали PHP.
                Ответить
    • if ("any string" == 0) {
      echo 'php govno';
      } else {
      echo 'php govno';
      }
      Ответить

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