Advertisement
miriamdepaula

Ajuda com foreach() para montar um menu

Jul 24th, 2012
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.55 KB | None | 0 0
  1. Eu tenho o seguinte array:
  2.  
  3. Array
  4. (
  5. [0] => Array
  6. (
  7. [ano] => 2011
  8. [secao] => 47
  9. [categoria] => 48
  10. [subcategoria] => 0
  11. )
  12.  
  13. [1] => Array
  14. (
  15. [ano] => 2012
  16. [secao] => 47
  17. [categoria] => 48
  18. [subcategoria] => 0
  19. )
  20.  
  21. [2] => Array
  22. (
  23. [ano] => 2012
  24. [secao] => 47
  25. [categoria] => 49
  26. [subcategoria] => 0
  27. )
  28.  
  29. [3] => Array
  30. (
  31. [ano] => 2012
  32. [secao] => 47
  33. [categoria] => 50
  34. [subcategoria] => 0
  35. )
  36.  
  37. [4] => Array
  38. (
  39. [ano] => 2012
  40. [secao] => 47
  41. [categoria] => 51
  42. [subcategoria] => 0
  43. )
  44.  
  45. )
  46.  
  47. E preciso criar um menu com ele.
  48.  
  49. Só que quero agrupar por ano, assim:
  50.  
  51. ANO 2012 (tenho 4 registros no ano 2012)
  52. ---- SECAO 1
  53. -------CATEGORIA
  54. ----------SUBCATEGORIA
  55. ---- SECAO 2
  56. -------CATEGORIA
  57. ----------SUBCATEGORIA
  58. ---- SECAO 3
  59. -------CATEGORIA
  60. ----------SUBCATEGORIA
  61. ---- SECAO 4
  62. -------CATEGORIA
  63. ----------SUBCATEGORIA
  64.  
  65. ANO 2011 (tenho 1 registro no ano 2011)
  66. ---- SECAO 1
  67. -------CATEGORIA
  68. ----------SUBCATEGORIA
  69.  
  70.  
  71. UPDATE: Agora o array ficou assim:
  72. O array agora está agrupado por ano... mas ainda faltava agrupar por seção...
  73. foreach($items as $value):
  74. $menu[ $value['ano'] ][] = array(
  75. 'secao' => $value['secao'],
  76. 'categoria' => $value['categoria'],
  77. 'subcategoria' => $value['subcategoria']
  78. );
  79. endforeach;
  80.  
  81. Array
  82. (
  83. [2011] => Array
  84. (
  85. [0] => Array
  86. (
  87. [secao] => 47
  88. [categoria] => 48
  89. [subcategoria] => 0
  90. )
  91.  
  92. )
  93.  
  94. [2012] => Array
  95. (
  96. [0] => Array
  97. (
  98. [secao] => 47
  99. [categoria] => 48
  100. [subcategoria] => 0
  101. )
  102.  
  103. [1] => Array
  104. (
  105. [secao] => 47
  106. [categoria] => 49
  107. [subcategoria] => 0
  108. )
  109.  
  110. [2] => Array
  111. (
  112. [secao] => 47
  113. [categoria] => 50
  114. [subcategoria] => 0
  115. )
  116.  
  117. [3] => Array
  118. (
  119. [secao] => 47
  120. [categoria] => 51
  121. [subcategoria] => 0
  122. )
  123.  
  124. )
  125.  
  126. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement