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

    +163

    1. 1
    2. 2
    $bgcolor="#FFFFFF";
    $d % 2 ? 0: $bgcolor= "#F6F6F6";

    Уже никто не скажет, то ли это из PhpAds, то ли уже наши умники дописывали.

    Запостил: AxisPod, 12 Октября 2010

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

    • правильно так
      $bgcolor = $d % 2 ? "#FFFFFF" : "#F6F6F6";
      Ответить
      • правильно убивать тех, кто хардкодит цвета в php
        Ответить
        • ну правильно, им место в css. Только вот css тоже имеет право быть генерированным. К тому же, выражения в css так же могут быть )
          Ответить
      • Молодец, возьми с полки пирожок :)
        Ответить
    • прямо святая любовь к тернарному оператору
      Ответить
    • Вспомнил, что сделал так в каком-то старом проекте (как написал seonull).
      Хотел было запостить для кучи, а там такое
      $style = ($i % 2 != 0) ? 'easy' : 'hard';

      Вот такое вот условие.
      Зато есть оправдание: цвет не захардкоржен, а стиль поста.
      Правда, тут и очередная бяка: генерация html.
      Так что и неизвестно - что хуже.
      Ответить
      • $style = $i % 2 ? 'hard' : 'easy' ; //Так вроде короче
        $i++;

        Если номер итерации не важен, то можно вот так
        $style = $k ? 'hard' : 'easy' ;
        $k = 1 - $k;
        Ответить
        • $style = $i++ % 2 ? 'hard' : 'easy' ;
          пиная труп страуса... :)
          Ответить
          • Ну, у меня это дело в цикле for крутится, так что инкремент в нем и делается.
            Ответить
        • Да я ж сам понял, что у меня гк.
          Я думал там нормально будет, именно $i % 2.
          И что-то не понял про второй способ.
          Пост 0 - будет изи.
          Посты 1...бесконечность будут хард.
          Или я что-то не так понял?
          Ответить
          • echo $k = 0; //0

            $k = 1 - $k;//1-0
            echo $k; //1
            $k = 1 - $k;//1-1
            echo $k; //0
            $k = 1 - $k;//1-0
            echo $k; //1
            $k = 1 - $k;//1-1
            echo $k; //0
            Ответить
    • $bgcolor = $colors[$d&1]
      Ответить

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