jannnfe: Daten aus einem multidimensionalen Array mithilfe von $_GET holen

Beitrag lesen

Hallo, ich studiere zur Zeit Medieninformatik und habe ein Projekt. Meine erste eigene Homepage erstellen. Nun hänge ich an einem Problem, was mich schon mehrere Stunden gekostet hat. Im Netz finde ich nicht wirklich eine Antwort.

Und zwar möchte ich mithilfe von $_GET herausfinden auf welcher Seite ich mich befinde und aus folgendem Array dann zum Beispiel den "title" der Seite ausgeben.

Array mit allen Seiteninformationen:

$data = array(
        "home" => array(
            "id" => 0,
            "path" => "home",
            "lang" => "de",
            "title" => "Home",
            "description" => "Startseite",
            "keywords" => "home, startseite",
            "author" => "Autor",
            "content" => "home.php",
            "subpages"),
        "news" => array(
            "path" => "newnews",
            "title" => "News",
            "subpages" => array(
                "newnews" => array(
                    "id" => 1,
                    "path" => "newnews",
                    "lang" => "de",
                    "title" => "Neusten News",
                    "description" => "Neusten News",
                    "keywords" => "news, newnews, neusten news",
                    "author" => "Autor",
                    "content" => "newnews.php")
            )
        ),
        "reviews" => array(
            "path" => "newreviews",
            "title" => "Reviews",
            "subpages" => array(
                "newreviews" => array(
                    "id" => 4,
                    "path" => "newreviews",
                    "lang" => "de",
                    "title" => "Neusten Reviews",
                    "description" => "Neusten Reviews",
                    "keywords" => "review, reviews, newreviews, neusten reviews",
                    "author" => "Autor",
                    "content" => "newreviews.php")
            )
        )
    );

Als Abfrage, auf welcher Seite ich mich gerade befinde, benutze ich folgenden Code, der aus meiner Linkstruktur - <a href="index.php?page=impressum">Impressum</a> - den Parameter page abfragt:

    if(isset($_GET["page"])){
        $page = $_GET["page"];
        if(array_key_exists($page, $data)){
            $page = $_GET["page"];
        }
        else{ $page = "home"; }
    }
    else{ $page = "home"; }

Auf die Daten im Array der Seite "home" kann ich so zugreifen:

    function getTitle(){
        global $data, $page;
        echo $data[$page]["title"];
    }

Jedoch geht das nicht mehr mit der Seite "news" / "newnews" im Array. Ich bekomme aus irgendwelchen Gründen einfach keine gescheite Lösung, dass die Funktion getTitle(); mir am Ende auch die Titel meiner subpages ausgibt. Ich müsste also noch zwei Arraystrukturen weiter nach unten wandern. Wie mache ich das?

Danke und MfG

akzeptierte Antworten