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

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    foreach ($foo as $key1=>$value) {
        if ($foo[$key1][parent] == 0 ) {
            echo '<li><a href="/index.php?cPath='.$key1.'">'.$foo[$key1][name].'</a>';
            foreach ($foo as $key2=>$value) { if ($foo[$key2][parent] == $key1){echo '<ul>'; break; }};
            foreach ($foo as $key2=>$value) {
                if ($foo[$key2][parent] == $key1) {
                    echo '<li><a href="/index.php?cPath='.$key1.'_'.$key2.'">'.$foo[$key2][name].'</a>';
                    foreach ($foo as $key3=>$value) { if ($foo[$key3][parent] == $key2){echo '<ul>'; break;} };
                    foreach ($foo as $key3=>$value) {
                        if ($foo[$key3][parent] == $key2) {
                            echo '<li><a href="/index.php?cPath='.$key1.'_'.$key2.'_'.$key3.'">'.$foo[$key3][name].'</a>';
                            foreach ($foo as $key4=>$value) { if ($foo[$key4][parent] == $key3){echo '<ul>'; break;} };
                            foreach ($foo as $key4=>$value) {
                                if ($foo[$key4][parent] == $key3) {
                                    echo '<li><a href="/index.php?cPath='.$key1.'_'.$key2.'_'.$key3.'_'.$key4.'">'.$foo[$key4][name].'</a>';
                                    foreach ($foo as $key5=>$value) { if ($foo[$key5][parent] == $key4){echo '<ul>'; break;} };
                                    foreach ($foo as $key5=>$value) {
                                        if ($foo[$key5][parent] == $key4) {
                                            echo '<li><a href="/index.php?cPath='.$key1.'_'.$key2.'_'.$key3.'_'.$key4.'_'.$key5.'">'.$foo[$key5][name].'</a>';
                                            foreach ($foo as $key6=>$value) {if ($foo[$key6][parent] == $key5) {echo '<ul>'; break;} };
                                            foreach ($foo as $key6=>$value) {
                                                if ($foo[$key6][parent] == $key5) {
                                                    echo '<li><a href="/index.php?cPath='.$key1.'_'.$key2.'_'.$key3.'_'.$key4.'_'.$key5.'_'.$key6.'">'.$foo[$key6][name].'</a>';
                                                }
                                            }
                                            foreach ($foo as $key6=>$value) { if ($foo[$key6][parent] == $key5){echo '</ul>'; break;} };  
                                            echo '</li>';                                      
                                        }
                                    } 
                                    foreach ($foo as $key5=>$value) { if ($foo[$key5][parent] == $key4){echo '</ul>'; break;} };
                                    echo '</li>';
                                }
                            }
                            foreach ($foo as $key4=>$value) {if ($foo[$key4][parent] == $key3) {echo '</ul>'; break;} };
                            echo '</li>';                          
                        }
                    } 
                    foreach ($foo as $key3=>$value) { if ($foo[$key3][parent] == $key2){echo '</ul>'; break;} }; 
                    echo '</li>';              
                }
            }
            foreach ($foo as $key2=>$value) {if ($foo[$key2][parent] == $key1) {echo '</ul>'; break;} };
            echo '</li>';
        }        
    }

    Правильное понимание рекурсии, привитое картинками вконтакте.

    Запостил: Dotterian, 28 Января 2014

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

    • Выглядит кодогенерированным.
      Ответить
      • Как и все внутренности веб фреймворков.
        Ответить
        • нет, много огрехов, которые мало-мальски зрелые фреймворки обходят
          Ответить
      • Спустя много лет я вернулся и решил ответить: это писал живой человек в самописной CMS для говноконторы по быстрому созданию говносайтов за копейки.
        Никакой кодогенерации, только слабоумие, отвага и, возможно, копипэйст.
        Ответить
        • Добро пожаловать!
          Ответить
        • Известна ли дальнейшая судьба этого кода? Автор запилил уже поддержку 20-го уровня вложенности?
          Ответить
          • Код был выпилен теми же руками, которые набирают этот комментарий и заменён на нормальную рекурсию.
            А человек это писавший был уволен задолго до обнаружения этого алмаза.
            Ответить
        • Расскажите о себе.
          На чём пишете? Какие проекты?
          Ответить
          • А вы с какой целью интересуетесь?
            Ответить
            • Для статистики

              Я уже примерно знаю, кто на чём тут пишет
              Ответить
    • Вкусняшка!
      Ответить
    • vanished
      Ответить

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