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

    +55

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $i = 0;
    foreach($_POST['union'] as $key=>$value) {
    	$i++;
    	if ($i == 1) {
    		$fid = $key;
    	}
    	if ($i > 1) {
    		[код поскипан]
    	}
    }

    Ну почему не используется if { } else { }?

    Запостил: domaster, 13 Июня 2012

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

    • Может нужно было задать точное условие, когда переменная больше единицы.
      Ответить
      • Выше она инициализирована нулем, и затем обязательно инкрементируется. Меньше единицы она уже никак не станет.
        Ответить
        • Да, вы правы, не обратил внимания.
          Ответить
        • А вы уверены, что в [код поскипан] с i ничего не происходит?
          Ответить
          • Теперь нет, вы вселили в меня тень сомнения.
            Ответить
            • В любом случае, даже если что-то происходит, else вместо второго условия был бы не лишним.
              Ответить
          • В [код поскипан] находится пара селектов и один апдейт. $i больше нигде не изменяется.
            Ответить
            • Ок. Было бы разумно упомянуть об этом сразу.
              Ответить
    • Может, предполагается, что так нагляднее? Если единица, то... а если больше, то... Хотя как-то неуклюже.
      Ответить
      • Лишние проверки в цикле, количество которых растёт пропорционально длине входного массива, а вот наглядности сильно не поприбавилось...
        Ответить
    • if ($i > 1) {
        $i--;
      }
      Ответить
    • Блин ну как так можно?
      Ведь так лучше:
      if ($i >= 1) {
          [действия]
      }
      Ответить
      • Так смысл же другой:
        if ($i == 1) {
          [одни действия]
        } else {
          [другие действия]
        }
        Ответить

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