Schwierigkeit mit foreach

Loddar1

Erfahrenes Mitglied
Erst mal einen schönen Guten morgen,
ich habe ein wunderbares php-menü mit untermenü das genauso funktioniert wie ich es möchte.
Linkname und Url, jetzt möchte ich aber Linkname Url und title (muß noch hinzu gefügt werden) nutzen.
Jetzt weis ich nicht wie ich das mit der abfrage machen soll.
hier mal das Menü:
PHP:
<?php
echo'<ul>';
$menu = array (
    "Home" => array ("index.php?sid=1"
        ),
  
    "Link" => array ("index.php?sid=2",
            "unterLink1" => "index.php?sid=3",
            "unterLink2" => "index.php?sid=4"
        ),
    );




$uri = basename(getenv("REQUEST_URI"));
            foreach($menu as $main => $mainlink){
    foreach($mainlink as $sub => $sublink){
        $x = count ($mainlink);
    if($sub[0] == "" && $mainlink[0] == $uri && $x > 1) {
            echo'<li>'.$main.'</li>';
        }
else
    if($sub[0] == "" && $mainlink[0] == $uri && $x == 1) {
        echo'<li>'.$main.'</li>';
    }
else
    if($sub[0] == ""  && $x > 1) {
        echo'<li><a title="'.$main.'" href="'.$mainlink[0].'">'.$main.'</a></li>';
    }
else
    if($sub[0] == ""  && $x == 1) {
        echo'<li><a title="'.$main.'" href="'.$mainlink[0].'">'.$main.'</a></li>';
    }
else
    if($mainlink[0] == $uri) {
        echo'<li><a title="'.$sub.'" href="'.$sublink.'">'.$sub.'</a></li>';
    }
    if(array_search($uri,$mainlink) && $sub[0] != ""){
        if($uri == $sublink){
            echo'<li>'.$sub.'</li>';
    }
else{
            echo'<li><a title="'.$sub.'" href="'.$sublink.'">'.$sub.'</a></li>';
            }
        }
    }
}
echo'</ul>';

Das ergibt einen Link:
HTML:
<a title="Home" href="index.php?sid=1">Home</a>
Haben möchte ich aber:
HTML:
<a title="Startseite" href="index.php?sid=1">Home</a>

meine vorstellung oberer Menüteil:
PHP:
"Home" => array ("Startseite","index.php?sid=1"),
mein Problem:
PHP:
foreach($menu as $main => $mainlink){
foreach($mainlink as $sub => $sublink){

.....

if($sub[0] == ""  && $x > 1) {
        echo'<li><a title="'.$maintitle[0].'" href="'.$mainlink[0].'">'.$main.'</a></li>';
    }
}
}
Wie muß ich in die foreachschleife $maintitle einfügen?

Dankeschön im voraus
Gruß Loddar1
 
Zuletzt bearbeitet:
Ich verstehe deinen Code nicht so richtig, vor allen nicht, wofür Du die vielen ifs brauchst. Du schreibst, Du willst ein Menü mit Untermenü. Dann würde ich eine zweistufig verschachtelte Listenstruktur erwarten. Davon ist aber in deinem Code nichts zu erkennen. Poste doch mal, was für ein HTML Du erreichen möchtest, dann wird es leicht sein, ein Array zu definieren und den Code, der das HTML generiert.
 
Hallo Sempervivum,
ich habe nicht geschrieben das ich ein Menü mit untermenü haben will,
sondern das ist ein Menü mit untermenü!
Das html steht doch da,
einen Link mit title , url und urlname alle einzeln ansprechbar.
ich habe html mit einer url und urlname mir fehlt title=""
Der code mit den vielen if's bringt mir das ergebniss in html was ich haben will,
sprich Linkformatierung mit html und css!

Ich möchte jetzt nur den title="" in der url extra ansprechen
 
Zurück