Oto co mam http://codepad.org/iDoXXsLXz PHP tablicy wielowymiarowej próbuje tworzyć zagnieżdżone menu ul Li (nieograniczona liczba poziomów zagnieżdżonych)
Have array jak ten
Array
(
[0] => Array
(
[NumberRenamed] => 17
[TopicName] => Products
[UpperLevelNumberRenamed] => 0
)
[17] => Array
(
[0] => Array
(
[1] => Array
(
[NumberRenamed] => 18
[TopicName] => Computers
[UpperLevelNumberRenamed] => 17
)
)
)
[18] => Array
(
[0] => Array
(
[2] => Array
(
[NumberRenamed] => 16
[TopicName] => Laptops
[UpperLevelNumberRenamed] => 18
)
)
)
[16] => Array
(
[0] => Array
(
[4] => Array
(
[NumberRenamed] => 8
[TopicName] => Dell
[UpperLevelNumberRenamed] => 16
)
)
)
)
Top poz poziom jest Products
, najpierw sub poz poziom jest Computers
, obok niższego poziomu jest Laptops
, a następnie ponownie następnego niższego poziomu Dell
Dla każdego elementu niższego poziomu UpperLevelNumberRenamed
== do najbliższego górnym poziomie NumberRenamed
.
Chcesz uzyskać wynik jak ten
Products
Computers
Laptops
Dell
Acer
Desktops
Home
próbował tego
foreach($main_topics as $k_main_topics => $v_main_topics){
if(isset($v_main_topics['UpperLevelNumberRenamed']) and $v_main_topics['UpperLevelNumberRenamed'] == 0){
//print only top level topics
echo $v_main_topics['TopicName']. '<br/>';
}
else{//if not top level topic
foreach($v_main_topics[0] as $k_v_main_topics_0 => $v_v_main_topics_0){
echo $v_v_main_topics_0['TopicName']. '<br/>';
}//foreach($v_main_topics[0] as $k_v_main_topics_0 => $v_v_main_topics_0)
}//else{
}//foreach($main_topics as $k_main_topics => $v_main_topics)
Ale dostać ten
Products
Home
Computers
Laptops
Desktops
Dell
Acer
Coś nieprawidłowy, ale nie mogę zrozumieć, co. Proszę o porady, co należy poprawić/zmienić w kodzie
Próbując Innym sposobem
początkowy tablicy jest tablica wymiarowa. Próbuję uzyskać nawigację uliczną z jednego wymiaru.
Oto co zrobiłem http://codepad.org/OLtxyL4X
Czy te liczby naprawdę coś znaczy ?? Innymi słowy, czy odzwierciedlają one identyfikator bazy danych? Poza tym, dlaczego gniazdowania dodatkowy poziom '[17] => Array ( [0] => Array (' '[18] => Array ( [0] => Array ('. .... czy naprawdę tego potrzebujesz? – KAD
Tak, numery są kluczami podstawowymi - identyfikator bazy danych. Poziom dodatkowy jest wykonany, ponieważ ta odpowiedź była następująca: http://stackoverflow.com/questions/7673044/nested-array-third-level-is -disappearing/7673415 # 7673415 Teraz pojawia się, że nie potrzebujesz dodatkowego poziomu – user2118559