Baumstruktur die zweite - foreach-freaks gesucht ;-)

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Baumstruktur die zweite - foreach-freaks gesucht ;-)

    Hi Leute,
    habe mein script nochmal überdacht. Arbeite jetzt mit foreach.
    Dabei ist mir ein problem aufgefallen. Erhält die foreach seine
    arrays nicht in der richtigen reihnefolge passiert folgendes:

    navigation [0][3]:Server
    --- navigation [3][4]:Apache
    ------ navigation [4][7]:httpd.conf
    --- navigation [3][5]:PHP
    ------ navigation [5][6]hp.ini
    navigation [0][8]:Stamm
    --- navigation [8][9]:Einstellungen
    ------ navigation [9][10]:Umrechnungen
    ------ navigation [9][12]:Benutzer
    --- navigation [8][13]:Einheit

    Warning: Invalid argument supplied for foreach() in c:\baumv2 v0.0.3.php on line 61

    Das Problem tritt bei Einstellungen -> umrechnungen -> einheit auf,
    da einheit zuspät im array auftaucht. Wie kann ich das problem umschiffen.
    Fehlermeldungen kann man laut manual ja leider bei foreach nicht ausblenden.

    hier das script:

    PHP Code:
    <?
    $navigation[0][3] = "Server";
    $navigation[3][4] = "Apache";
    $navigation[3][5] = "PHP";
    $navigation[5][6] = "php.ini";
    $navigation[4][7] = "httpd.conf";

    $navigation[0][8] = "Stamm";
    $navigation[8][9] = "Einstellungen";
    $navigation[9][10] = "Umrechnungen";
    $navigation[9][12] = "Benutzer";
    $navigation[8][13] = "Einheit";

    foreach($navigation as $key1 => $value1)
    {
        //echo "<b>key1 :".$key1."</b><br>";
        if ($key1 == 0)
        {
            //echo "<b>#########################################################</b><br>";
            foreach($navigation[$key1] as $key2 => $value2)
            {
                //echo "<b>key2 :".$key2."</b><br>";
                echo "<b>navigation [".$key1."][".$key2."]:".$navigation[$key1][$key2]."</b><br>";
                
                foreach($navigation[$key2] as $key3 => $value3)
                {
                    //echo "<b>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</b><br>";
                    //echo "<b>key2 :".$key2."</b><br>";
                    //echo "<b>key3 :".$key3."</b><br>";
                    echo "<b>--- navigation [".$key2."][".$key3."]:".$navigation[$key2][$key3]."</b><br>";        
                    foreach($navigation[$key3] as $key4 => $value4)
                    {
                        //echo "<b>key2 :".$key4."</b><br>";
                        echo "<b>------ navigation [".$key3."][".$key4."]:".$navigation[$key3][$key4]."</b><br>";                    
                    }
                    //echo "<b>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</b><br>";
                }        
                
            }
        }
    }

    Andreas
    ?>
    Last edited by syn; 22-11-2002, 11:06.
    ....... .:[s|Y|n]:. . .:[www.syntheme.de]:. . .:[:-)]:. .......

  • #2
    warum erfindest du das Rad neu ?
    benutz mal die im anderen Thread angegebene Klasse,
    und bau dein Menu auf:

    PHP Code:
    $storage = new TreeStorage("mein Menu");

    $storage->add(10"Server");
    $storage->add(31"Apache");
    $storage->add(41"PHP");
    $storage->add(64"php.ini");
    $storage->add(53"httpd.conf");

    $storage->add(20"Stamm");
    $storage->add(82"Einstellungen");
    $storage->add(92"Einheit");
    $storage->add(108"Umrechnungen");
    $storage->add(118"Benutzer");

    echo 
    $storage->show("-""\n"'$link=" ".$this->name;'); 
    ergibt:
    Code:
    mein Menu
    - Server
    -- Apache
    --- httpd.conf
    -- PHP
    --- php.ini
    - Stamm
    -- Einheit
    -- Einstellungen
    --- Benutzer
    --- Umrechnungen
    das ist doch das was du willst, oder ?
    TBT

    Die zwei wichtigsten Regeln für eine berufliche Karriere:
    1. Verrate niemals alles was du weißt!


    PHP 2 AllPatrizier II Browsergame

    Comment


    • #3
      ;-)

      Hi,
      eigentlich ist das meine art, sachen zu erlernen. <g>

      Ein weiterer punkt ist, das die form des rades immer (immer?)
      rund ist, aber hast du schon einmal einen Holzrad auf einen
      VW-Golf gezogen? Ich auch nicht (habe übrigens auch keinen ;-))
      Damit möchte ich nicht sagen, das die classe ein holzrad ist.
      Sie ist wirklich classe.

      Vielleicht hat ja jemand erfahrungen mit "foreach".
      Irgendwie muß man das problem doch beheben können.

      Andreas
      ....... .:[s|Y|n]:. . .:[www.syntheme.de]:. . .:[:-)]:. .......

      Comment


      • #4
        ...hmm, ich weiss zwar nicht so ganz genau, was du haben willst, aber ich denke mal sowas hier:
        PHP Code:
        function showArray($myArray,$tiefe=0)
        {
        if(
        is_array($myArray))
         {
          foreach(
        $myArray as $m)showArray($m,$tiefe+1)
         }
        else echo 
        str_repeat("-",$tiefe).$myArray;

        eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùûä¶³Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");

        Comment


        • #5
          Danke für die hilfe

          Es ist geschafft!
          Habe es hinbekommen, den baum mit
          foreach aufzubauen.
          Hier könnt Ihr ihn begutachten.

          http://syntheme.5k-productions.com/baum.php



          Andreas

          Last edited by syn; 22-11-2002, 11:51.
          ....... .:[s|Y|n]:. . .:[www.syntheme.de]:. . .:[:-)]:. .......

          Comment


          • #6
            kannst du deinen code auch mal posten? ...
            sieht echt klasse aus.
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Comment


            • #7
              Nur leider hast du an der Stelle wo mein blauer Pfeil ist noch Fehler drin.
              Schau dir mal das Bild an.

              Du soltest dir mal diesen Thread ansehen, damit wird genau das was bei dir der Fehler ist um gangen.
              http://www.php-resource.de/forum/sho...threadid=10351
              Attached Files
              Last edited by Wotan; 25-08-2003, 11:01.
              *winks*
              Gilbert
              ------------------------------------------------
              Hilfe für eine Vielzahl von Problemen!!!
              http://www.1st-rootserver.de/

              Comment

              Working...
              X