Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]tablice 3 wymiarowe
tomi1985
post
Post #1





Grupa: Zarejestrowani
Postów: 192
Pomógł: 12
Dołączył: 23.09.2010
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witam Serdecznie,

mam problem z poprawnym wywołaniu tablicy 3D

mój kod

Kod
private $MenuPoziomAll = array (
                                        array ("Dodaj Obiekt" => "regi,0.html",
                                                "Opis" => array ("Rejestracja Obiektu",
                                                                 "dodaj_menu",
                                                                 "target=\"_blank\""
                                                                  )
                                                ),
                                                
                                        array ("Regulamin" => "regulamin/",
                                               "Opis" => array ("Regulamin Noclegów",
                                                                   "regi_menu",
                                                                ""
                                                                   )
                                              ),
                                              
                                        array ("Cennik" => "cennik/",
                                               "Opis" => array ("Cennik Noclegów",
                                                                   "cennik_menu",
                                                                ""
                                                                   )
                                              ),
                                              
                                        array ("Kontakt" => "kontakt/",
                                               "Opis" => array ("Kontakt Noclegów",
                                                                   "kontakt_menu",
                                                                ""
                                                                   )
                                              ),
                                              
                                        array ("Panel Administracyjny" => "panel/",
                                                "Opis" => array ("Panel Administracyjny",
                                                                 "admin_menu",
                                                                 "target=\"_blank\""
                                                                  )
                                                )
                                    );


Wywołanie tablicy

Kod
foreach($this->MenuPoziomAll as $value){ // Pobiera tablicę jako obiekt $this
            
            foreach($value as $key=>$adres){
                if(strpos($_SERVER['REQUEST_URI'], $adres) == true){//Sprawdzanie czy link jest aktywny
                    foreach($key as $opis){
                        echo '<li title="'.$opis[0].'" id="'.$opis[1].'" '.$opis[2].' class="active"><a href="'.$this->url.$adres.'">'.$opis.'</a></li>';
                    }
                }
                else{
                    foreach($key as $opis){
                        echo '<li title="'.$opis[0].'" id="'.$opis[1].'" '.$opis[2].' ><a href="'.$this->url.$adres.'">'.$opis.'</a></li>';
                    }
                }
            }            
        }


mój błąd: Warning: Invalid argument supplied for foreach()

Proszę o pomoc

Ten post edytował tomi1985 24.03.2013, 18:06:46
Go to the top of the page
+Quote Post
mortus
post
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

Ostrzeżenie: (0%)
-----


Pomijając fakt, że zmienna $val nie istnieje trzeba się zastanowić nad strukturą tablicy, która do najlepiej zorganizowanych niestety nie należy. Zauważ, że drugi foreach() przechodzi po dwóch elementach, z których pierwszy to adres, a drugi to opis (w dodatku opis to kolejna tablica) - a to jest zupełnie bez sensu.

Ten post edytował mortus 24.03.2013, 18:14:26
Go to the top of the page
+Quote Post
tomi1985
post
Post #3





Grupa: Zarejestrowani
Postów: 192
Pomógł: 12
Dołączył: 23.09.2010
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


hmmm z tą zmienna $var to zauwazylem i juz zmienilem ... aczkolwiek nadal nie dziala...

w Takim razie jak mialbym ja zaprojektować aby przechowywala wszystkie info ktore sa w obecnych tablicach

pomoże ktoś ? bo już nie mam pojęcia jak to inaczej wywołać na petli foreach

Poprawiłem kod i działa:D

Kod
private $MenuPoziomAll = array (
                                        array ("regi,0.html" => array ("Dodaj Obiekt",
                                                                       "Rejestracja Obiektu",
                                                                       "dodaj_menu",
                                                                       "target=\"_blank\""
                                                                       )
                                                ),
                                                
                                        array ("regulamin/" => array ("Regulamin",
                                                                      "Regulamin Noclegów",
                                                                      "regi_menu",
                                                                      ""
                                                                      )
                                                
                                              ),
                                              
                                        array ("cennik/" => array ("Cennik",
                                                                   "Cennik Noclegów",
                                                                      "cennik_menu",
                                                                   ""
                                                                      )
                                                
                                              ),
                                              
                                        array ("kontakt/" => array ("Kontakt",
                                                                    "Kontakt Noclegów",
                                                                       "kontakt_menu",
                                                                    ""
                                                                       )
                                                
                                              ),
                                              
                                        array ("panel/" => array ("Panel Administracyjny",
                                                                  "Panel Administracyjny",
                                                                  "admin_menu",
                                                                  "target=\"_blank\""
                                                                  )
                                                
                                                )
                                    );


i wywołanie (IMG:style_emoticons/default/biggrin.gif)

Kod
foreach($this->MenuPoziomAll as $value){ // Pobiera tablicę jako obiekt $this
            
            foreach($value as $key=>$adres){
                if(strpos($_SERVER['REQUEST_URI'], $key) == true){//Sprawdzanie czy link jest aktywny
                    echo '<li title="'.$adres[1].'" id="'.$adres[2].'" '.$adres[3].' class="active"><a href="'.$this->url.$key.'">'.$adres[0].'</a></li>';
                }
                else{
                    echo '<li title="'.$adres[1].'" id="'.$adres[2].'" '.$adres[3].'><a href="'.$this->url.$key.'">'.$adres[0].'</a></li>';
                }
            }            
        }


Ten post edytował tomi1985 24.03.2013, 21:43:09
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.09.2025 - 21:05