Avatar billede KHHP Juniormester
06. februar 2013 - 12:03 Der er 8 kommentarer og
1 løsning

Fjerne indtastning i array

Hej
Jeg er igang med at lave en menu og i den forbindelse er jeg stødt på et problem, da menuen skal være i flere niveauer.
Jeg har med lidt hjælp fra internettet fået lavet følgende kode: http://pastebin.com/vihbJceh
Den opretter et array på linje 13 og giver den title=root, hvilket betyder at jeg får et overordnet menupunkt der hedder root, og dernede ligger min egentlige hovedmenu.
Kan jeg, med udgangspunkt i ovenstående kode, lave det om således at jeg kan fjerne den indtastning der hedder root og så få vist min egentlige hovedmenu som hovedmenu og ikke som undermenu.
Avatar billede olebole Juniormester
06. februar 2013 - 22:07 #1
<ole>

Har du prøvet:

//Output something
echo traverse($root['children']);

/mvh
</bole>
Avatar billede KHHP Juniormester
07. februar 2013 - 08:06 #2
Har nu prøvet med $root['children'] og får undefined index og invalid argument.
<b>Notice</b>:  Undefined index: children in <b>C:\xampp\htdocs\game-cms\inc\top.inc.php</b> on line <b>35</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>C:\xampp\htdocs\game-cms\inc\top.inc.php</b> on line <b>28</b><br />
<ul></ul>                       
Avatar billede olebole Juniormester
07. februar 2013 - 13:25 #3
Hvordan ser et dump af array'et ud?
Avatar billede KHHP Juniormester
07. februar 2013 - 15:29 #4
Det er mig lidt uklart hvilket array du mener, men jeg gjorde det på mit array med navnet $tmp og fik følgende output:
array(8) {
  [0]=>
  array(2) {
    ["title"]=>
    string(4) "root"
    ["children"]=>
    array(5) {
      [0]=>
      &array(3) {
        ["page_id"]=>
        int(1)
        ["parent_id"]=>
        int(0)
        ["title"]=>
        string(7) "Forside"
      }
      [1]=>
      &array(3) {
        ["page_id"]=>
        int(2)
        ["parent_id"]=>
        int(0)
        ["title"]=>
        string(7) "Nyheder"
      }
      [2]=>
      &array(4) {
        ["page_id"]=>
        int(3)
        ["parent_id"]=>
        int(0)
        ["title"]=>
        string(10) "Tilmelding"
        ["children"]=>
        array(2) {
          [0]=>
          &array(3) {
            ["page_id"]=>
            int(6)
            ["parent_id"]=>
            int(3)
            ["title"]=>
            string(10) "Stay awake"
          }
          [1]=>
          &array(3) {
            ["page_id"]=>
            int(7)
            ["parent_id"]=>
            int(3)
            ["title"]=>
            string(15) "Coca Cola crash"
          }
        }
      }
      [3]=>
      &array(3) {
        ["page_id"]=>
        int(4)
        ["parent_id"]=>
        int(0)
        ["title"]=>
        string(9) "Statistik"
      }
      [4]=>
      &array(3) {
        ["page_id"]=>
        int(5)
        ["parent_id"]=>
        int(0)
        ["title"]=>
        string(7) "Kontakt"
      }
    }
  }
  [1]=>
  &array(3) {
    ["page_id"]=>
    int(1)
    ["parent_id"]=>
    int(0)
    ["title"]=>
    string(7) "Forside"
  }
  [2]=>
  &array(3) {
    ["page_id"]=>
    int(2)
    ["parent_id"]=>
    int(0)
    ["title"]=>
    string(7) "Nyheder"
  }
  [3]=>
  &array(4) {
    ["page_id"]=>
    int(3)
    ["parent_id"]=>
    int(0)
    ["title"]=>
    string(10) "Tilmelding"
    ["children"]=>
    array(2) {
      [0]=>
      &array(3) {
        ["page_id"]=>
        int(6)
        ["parent_id"]=>
        int(3)
        ["title"]=>
        string(10) "Stay awake"
      }
      [1]=>
      &array(3) {
        ["page_id"]=>
        int(7)
        ["parent_id"]=>
        int(3)
        ["title"]=>
        string(15) "Coca Cola crash"
      }
    }
  }
  [4]=>
  &array(3) {
    ["page_id"]=>
    int(4)
    ["parent_id"]=>
    int(0)
    ["title"]=>
    string(9) "Statistik"
  }
  [5]=>
  &array(3) {
    ["page_id"]=>
    int(5)
    ["parent_id"]=>
    int(0)
    ["title"]=>
    string(7) "Kontakt"
  }
  [6]=>
  &array(3) {
    ["page_id"]=>
    int(6)
    ["parent_id"]=>
    int(3)
    ["title"]=>
    string(10) "Stay awake"
  }
  [7]=>
  &array(3) {
    ["page_id"]=>
    int(7)
    ["parent_id"]=>
    int(3)
    ["title"]=>
    string(15) "Coca Cola crash"
  }
}
Avatar billede olebole Juniormester
07. februar 2013 - 16:37 #5
Så må det være sådan:

// Make me a root
$root = $tmp[0]['children'];
Avatar billede olebole Juniormester
07. februar 2013 - 16:38 #6
- og så glem min kommentar #1  =)
Avatar billede KHHP Juniormester
07. februar 2013 - 17:16 #7
Det virker jo perfekt nu. Jeg takker mange gange får hjælpen.

Nu er det et stykke tid siden jeg har stillet et spørgsmål herinde, men min hukommelse har ikke svigtet endnu, så jeg går ud fra at du ikke samler på point, med mindre du har ændret mening for nylig.
Avatar billede olebole Juniormester
07. februar 2013 - 17:44 #8
Selvtak. Og ellers tak - så vidt, jeg husker, har jeg ikke skiftet mening  *o)
Avatar billede KHHP Juniormester
12. februar 2013 - 12:09 #9
Super. Så lukker jeg for nu og siger endnu en gang tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester