For-Schleife - Zwei Variablen vergleichen

  • Hallo Zusammen,
    ich fasse mich mal kurz.

    So ... das ist mein PHP-Code. Jetzt zeig ich noch den Inhalt von "$menue_datei":

    Menue-Titel 1|Menue-Punkt 1|Menue-Link 1|
    Menue-Titel 1|Menue-Punkt 2|Menue-Link 2|
    Menue-Titel 1|Menue-Punkt 3|Menue-Link 3|
    Menue-Titel 2|Menue-Punkt 4|Menue-Link 4|
    Menue-Titel 2|Menue-Punkt 5|Menue-Link 5|
    Menue-Titel 3|Menue-Punkt 6|Menue-Link 6|
    Menue-Titel 3|Menue-Punkt 7|Menue-Link 7|
    Menue-Titel 3|Menue-Punkt 8|Menue-Link 8|

    Er soll eigt. es so wiedergeben:

    -- Menue-Titel 1

    - Menue-Punkt 1
    - Menue-Punkt 2
    - Menue-Punkt 3


    -- Menue-Titel 2

    - Menue-Punkt 4
    - Menue-Punkt 5


    -- Menue-Titel 3

    - Menue-Punkt 6
    - Menue-Punkt 7
    - Menue-Punkt 8

    Aber er gibt mir was komplett anders wieder.
    Ich verstehe nur nicht wieso er es tut.

    ich habe schon mein Script um geschrieben und in google geguckt,
    sagen wir es kurz ... ich brauche eure hilfe.

    Weiß einer was ich falsch gemacht habe ?
    Wenn ich eine Antwort bekomme, danke ich jetzt schon dafür :)

    mfg Johannes M.

  • 1. $zaehler ist doch eine Zahl, also $zaehler = 0 und nicht $zaehler = "0"
    2. Benutze in der zweiten for-Schleife einen anderen Variablennamen.

  • Hallo bandit600,
    danke erstmal für deine Antwort.

    Zu 1.

    Es ist schon klar das es eine Zahl ist, aber wenn ich mit " oder ohne " schreibe, es verändert sich nichts.

    Zu 2.

    Ich habe es jetzt so ... aber es ist nicht besser.
    Oder meinst du vielleicht etwas anders ?

  • Guten Morgen Leute,

    ich habe das Problem gelöst.

    Ich hab nur eine kleine Sache vergessen, was mir im diesen Zeitpunkt noch nicht ganz klar war.

    Der richtige Code:

    Wo ich jetzt dieses sehe, geht mir echt ein Licht auf. Das hab ich einfach nur vergessen.
    Hab es aber noch gefunden.

    mfg Johannes M.

  • Es ist schon klar das es eine Zahl ist, aber wenn ich mit " oder ohne " schreibe, es verändert sich nichts.


    Wenn du eine Zahl willst, dann schreibe eine Zahl und keinen String

    So sieht deine Datei aus?


    Das ist taktisch unklug aufgebaut!

  • Wie würdest du es denn machen ?

  • Entweder

    Code
    Menue-Titel 1|Menue-Punkt 1|Menue-Link 1|Menue-Punkt 2|Menue-Link 2|Menue-Punkt 3|Menue-Link 3|

    oder gleich als PHP-Datei ablegen und includen


    Ausgabe:

    PHP
    foreach ($menus as $menu)
    {
        echo $menu['title'] . "<br>\n";
    
        foreach ($menu['submenu'] as $submenu => $link)
        {
           echo "<a href='$link'>$submenu</a><br>\n";
        }
    }

    2 Mal editiert, zuletzt von bandit600 (18. Februar 2009 um 11:13)

  • Oh...

    Das ist mir etwas zu aufwendig.
    Ist meine Methode nicht etwas einfacher ?

    So muss man nur alles in deine datei schreiben und fertig.

    mfg Johannes M.

  • Das ist mir etwas zu aufwendig.


    Was ist daran aufwändig?


    Ist meine Methode nicht etwas einfacher ?


    Nö, aber was heißt schon einfacher?


    So muss man nur alles in deine datei schreiben und fertig.


    Du hast doch jetzt auch zwei Dateien. Die menue.dat und das Script. Bei mir ist es jetzt menu.php. die ich per include in das Script einbinde. Und der Scriptteil zur Ausgabe ist deutlich lesbarer als dein Gewurschtel.

  • Hi bandit600,
    danke nochmal für deine schnelle Antwort.

    Also wegen dem zwei Methoden:

    Also mir ist meine Methode einfacher und für mich unaufwendiger.
    Es kann ja sein, dass deine Methode für dich einfacher ist.


    Gibt es noch einen anderen unterschied auser die Methode, vielleicht die Sicherheit vor Hacker ?

  • Löse dich vom Aufwand, der ist doch sch... egal. Du strickst doch nicht täglich an dem Menü rum. Wichtiger ist die Übersichtlichkeit und da hast du mit deinem Script doch deutliche Nachteile.