"PHP" / Говнокод #26842 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
while (true) {
  if ($current === $requested) {
     break;
  }
  if (! in_array($requested, $available)) {
     break;
  }
  session()->put('locale', $requested);
  break;
}

Запостил: Edd Edd, (Updated )

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

  • Нямка.

    Хотя позволяет избавиться от goto, от вложенных ифов, от лишних флагов...
    Ответить
    • function pituh() {
          ...
            if ($current === $requested) {
               yield;
            }
            if (! in_array($requested, $available)) {
               yield;
            }
            session()->put('locale', $requested);
            yield;
      }
      
      ...
      
      foreach (pituh() as $_) {}
      Ответить
      • Или даже так:
        $pituh = function() use(&$current, &$requested, &$available) {
            ...
              if ($current === $requested) {
                 yield;
              }
              if (! in_array($requested, $available)) {
                 yield;
              }
              session()->put('locale', $requested);
              yield;
        }
        
        ...
        
        foreach ($pituh() as $_) {}
        Ответить
        • Стоп! У меня говно получилось. Надо же остановить цикл сразу после первого yield:
          foreach (pituh() as $_) {break;}

          Вот теперь всё прекрасно.
          Ответить

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

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8