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

    +157.4

    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
    while (count(array_diff(array_keys($rows), $roots)) > 0) 
    		{
    			 $theLeaves = $this->_getLeaves($rows);
    			 foreach ($theLeaves as $leafId) 
    			 {
    			 	if(isset($rows[$rows[$leafId]['parent_id']]['Menu']['data']) and 
                                               !is_array($rows[$rows[$leafId]['parent_id']]['Menu']['data']))
    			 		if(!is_array($rows[$rows[$leafId]['parent_id']]['Menu']['data']))
                                                   unset($rows[$rows[$leafId]['parent_id']]['Menu']['data']);
                                            
    				  if(isset($rows[$rows[$leafId]['parent_id']]['data']) and 
                                            !is_array($rows[$rows[$leafId]['parent_id']]['data']))
    			 	     if(!is_array($rows[$rows[$leafId]['parent_id']]['data']))
                                                unset($rows[$rows[$leafId]['parent_id']]['data']);
                                         
    				  $rows[$rows[$leafId]['parent_id']]['data'][] = $rows[$leafId];
    				  unset($rows[$leafId]);
    			 }
    		}

    пришел проектик на доработку. сижу, пытаюсь разобраться

    Запостил: gesper, 04 Марта 2010

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

    • вот это да O_o
      $rows[$rows[$leafId]['parent_id']]['Menu']['data']
      Ответить
    • Зато как отформатировал ::)
      Ответить
      • форматирование это уже я подровнял, чтобы хоть как-то понять, что же там происходит
        Ответить
    • Серьёзный проект
      Ответить
    • то есть если не понятно, сразу говнокод?
      ну вынести $rows[$leafId]['parent_id']]['Menu']['data'] в переменную надо бы
      Ответить
    • Даже обфускацией заниматься не надо
      Ответить
    • Масштабность кода не видна. Возможно оправдано, но громоздко.
      Ответить

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