jede Menge if-Anweisung. Wie Code verkürzen ???

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • jede Menge if-Anweisung. Wie Code verkürzen ???

    Hi,
    ich bin PHP-Einsteiger und habe mir eine Weiterleitung gebaut, die je nach Keyword an eine andere Domain leitet.

    <?php
    if ($_GET['kw'] == "keyword1") {$domain = "google.de";}
    else if ($_GET['kw'] == "keyword2") {$domain = "yahoo.de";}
    else if ($_GET['kw'] == "keyword3") {$domain = "web.de";}
    else if ($_GET['kw'] == "keyword4") {$domain = "fireball.de";}
    else if ($_GET['kw'] == "keyword5") {$domain = "abacho.de";}
    header("Location: http://www.".$domain);
    exit();
    ?>


    Könnte mann diesen Code noch etwas vereinfachen, da er sehr lang wird, wenn ich noch mehr else if -Anweisungen einfüge.
    Geht sowas irgendwie mit zb. Mehrdimensionalen Arrays ? - so das man die Variablen alle zuweisst und dann einmal eine If Abfrage macht oder so...???

  • #2
    http://de2.php.net/switch

    Kommentar


    • #3
      assoziatives array
      [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

      [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

      [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
      (from here)

      Kommentar


      • #4
        Guck doch mal nach der funktion "in_array()"

        Alle deine Keywörter schreibst du dann in ein array und machst eine abfrage wie

        PHP-Code:
        if (!in_array($key))
        {
          ....
        code

        Also wenn NICHT im array vorhanden..
        Zuletzt geändert von hhcm; 05.06.2005, 21:48.
        gruss Chris

        [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

        Kommentar


        • #5
          @hhcm: ich frage mich ob du seine Frage korrekt verstanden hast...

          --

          nachdem er das assoziative array aufgestellt hat, dann kann er einfach per
          PHP-Code:
          $domain $domains[$_GET["kw"]]; 
          seine var $domain füllen.

          btw: du solltest einen else-Zweig nicht vergessen - mögliche Fehler/Fehleingaben abzufangen gehört immer auch mit dazu
          [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

          [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

          [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
          (from here)

          Kommentar


          • #6
            Ich meinte eher sowas..

            PHP-Code:

            $keywords 
            = array("keyword1" => "google.de""keyword2" => "yahoo.de");

            if (!
            in_array($_GET['kw'], $keywords))
            {
             ... 
            Fehlerbehandlung (Domain nicht vorhanden)
            } else {
             
            header("Location: [url]http://www.[/url]".$keywords[$_GET['kw']");
             exit();


            Ok, ich geb zu ich hab nicht ganz zuende geschrieben.
            Allerdings bringt einem PHP Anfänger "assoziatives array" ohne weitere kommentare auch nicht allzuviel...
            Zuletzt geändert von hhcm; 06.06.2005, 08:42.
            gruss Chris

            [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

            Kommentar


            • #7
              Original geschrieben von hhcm

              Allerdings bringt einem PHP Anfänger "assoziatives array" ohne weitere kommentare auch nicht allzuviel...
              eine
              und warum suchst du jetz nich mit google nach dem keyword "assoziatives array" von mir aus noch mit " php"?
              MfG
              aim
              Lies mich jetzt!
              - OT-Tags-Liebhaber und BB-Code-Einrücker -

              Kommentar


              • #8
                Wieso ich?
                Wieso liest DU nicht erstmal den ganzen Thread???


                gruss Chris

                [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                Kommentar


                • #9
                  @hhcm: oki, nach der Erklärung wird schon eher klar was du mit deinen Codezeilen meinst

                  --

                  ansonsten bin ich da aimbots Meinung, wer's nicht weiß soll suchen, oder eben nochmal nachfragen ... dann schreibe ich auch gerne ein paar Zeilen Code
                  [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

                  [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

                  [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
                  (from here)

                  Kommentar

                  Lädt...
                  X