Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Odwołanie do elemetu w tablicy
Forum PHP.pl > Forum > PHP
lukas69
Hej,
mam taki problem chcę zwrócić wartość elementu dla kolejnego id problem w tym że to zwraca mi aktualną wartość
$nastepny = (isset($drzewo[$idx+1])) ? $galaz['poziom'] : 1;

i za bardzo nie wiem jak to ugryść.
phpion
Pokaż strukturę tablicy (print_r).
lukas69
Array ( [0] => Array ( [id] => 1 [0] => 1 [rodzic_id] => 0 [1] => 0 [nazwa] => Strona główna [2] => Strona główna [poziom] => 0 ) [1] => Array ( [id] => 2 [0] => 2 [rodzic_id] => 0 [1] => 0 [nazwa] => Zarządzanie newsami [2] => Zarządzanie newsami [poziom] => 0 ) [2] => Array ( [id] => 3 [0] => 3 [rodzic_id] => 2 [1] => 2 [nazwa] => Dodanie newsa [2] => Dodanie newsa [poziom] => 1 ) [3] => Array ( [id] => 4 [0] => 4 [rodzic_id] => 2 [1] => 2 [nazwa] => Edytowanie/ usuwanie newsów [2] => Edytowanie/ usuwanie newsów [poziom] => 1 ) [4] => Array ( [id] => 5 [0] => 5 [rodzic_id] => 0 [1] => 0 [nazwa] => Zarządzanie galerią [2] => Zarządzanie galerią [poziom] => 0 ) [5] => Array ( [id] => 6 [0] => 6 [rodzic_id] => 5 [1] => 5 [nazwa] => Dodawanie grupy [2] => Dodawanie grupy [poziom] => 1 ) [6] => Array ( [id] => 8 [0] => 8 [rodzic_id] => 5 [1] => 5 [nazwa] => Dodawanie zdjęć [2] => Dodawanie zdjęć [poziom] => 1 ) [7] => Array ( [id] => 7 [0] => 7 [rodzic_id] => 0 [1] => 0 [nazwa] => Statystyki [2] => Statystyki [poziom] => 0 ) ) print_r($drzewo);

chcę to wykorzystać do menu zeby wiedzieć czy kolejny elemenet jest submenu czy też nie.
nospor
Może pokaż cały kod jak to robisz, bo teraz przecież ewidentnie widać, że jesli isnieje kolejny $idx to ty i tak zwracasz aktualny smile.gif

ps: i używaj takich znaków jak: przecinek, kropka. Twóje zdania są nieczytelne. Szanuj innych czytelników.
lukas69
Oki, tutaj mam cały kod. Zmienna $drzewo tj. tablica którą wkleiłem wyżej. Głównie chodzi mi żeby zmienna $nastepny pokazywała wartość kolejnego elementu, po to żeby sprawdzić czy poziom jest większy, mniejszy czy taki sam, wtedy będę mógł ustalić czy dany poziom należy do submenu czy też nie.

Kod

    <?php
                $poprzedni = 0;
                foreach ($drzewo as $idx=> $galaz) {
                 $nastepny = (isset($drzewo[$idx+1])) ? $galaz['poziom'] : 1;
                  if ($galaz['poziom'] == 0 ) {
                    echo '<li><a href="index.html"><i class="icon icon-home"></i> <span>'.$galaz['nazwa']. ' a'.$galaz['poziom'].' p'.$poprzedni.' n'.$nastepny.'</span></a></li>';
                  }else if ($galaz['poziom'] == 1 ) {
                    echo '<div style="margin-left : 10px;">'.$galaz['nazwa'].' '.$galaz['poziom']. ' '.$poprzedni. ' '.$nastepny.'</div>';
                  }
                    
                    $poprzedni = $galaz['poziom'];
                }    
            ?>
nospor
No to skoro chcesz wyświetlać następny to go wyświetlaj. A ty przecież zwracasz aktualny....$galaz jest wartoscią aktualną
lukas69
I tutaj właśnie mam problem jak go zwrócić w tym zapytaniu, aktualny się zwaraca od razu a następny ?
nospor
Czasami naprawdę nie wiem jak należy reagować na takie coś...

Przecież sam piszesz:
isset($drzewo[$idx+1])
na sprawdzenie czy jest następny. Tak więc Twój następny to: $drzewo[$idx+1] a nie $galaz.....
lukas69
Ok w takim razie jeśli to jest następny $drzewo[$idx+1] to jak zwrócić dla niego wartość z pola poziom ?
nospor
Dokładnie tak samo jak to robiłeś dla $galaz.....

$drzewo[$idx+1]['poziom']
lukas69
Super dziękuje bardzo właśnie o to mi chodziło, teraz działa poprawnie:). Temat do zamknięcia
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.