if-Bedingung in arrray?

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

  • if-Bedingung in arrray?

    Hallo,

    ich habe nachfolgendes 2-dimensionales assoziatives Array. Ich möchte, daß das 2-te Element mit dem Index 'land' vom Wert der Variablen $land abhängig ist. Ich habe Nachfolgendes versucht, bekomme aber immer einen parse-error Fehler. Ist dies überhaupt möglich in ein Array so einzugreifen?

    array(

    "haus" => array ("typ"=>"Bauer"),

    if($land =="Deutschland"):
    "land" => array("iso_land" => "DEU"),
    elseif($land =="Frankreich"):
    "land" => array("iso_land" => "FRA"),
    endif;
    );

  • #2
    Ich glaube du kannst in die Array Definition keine if abfrage einbauen.
    mfg
    Günni


    Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
    Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
    Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
    City-Tiger - Online durch die Straßen tigern...

    Kommentar


    • #3
      Du denkst zu kompliziert...

      if($land =="Deutschland"){
      $land => array("iso_land" => "DEU"),
      } elseif($land =="Frankreich"){
      $land => array("iso_land" => "FRA"),
      }

      array(
      "haus" => array ("typ"=>"Bauer"),
      "land" => $land
      );
      Beantworte nie Threads mit mehr als 15 followups...
      Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

      Kommentar


      • #4
        @MelloPie
        Warum einfach wenn es auch komliziert gehen kann
        mfg
        Günni


        Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
        Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
        Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
        City-Tiger - Online durch die Straßen tigern...

        Kommentar


        • #5
          @MelloPie
          Hab dein Skript kopiert und muss sagen, dass hier noch ein wenig fehler drin sind. Bei mir ging es mal zumindest nicht.
          PHP-Code:
          <?
          if($land =="Deutschland")
          {
              $land = array("iso_land" => "DEU");
          }elseif($land =="Frankreich"){
              $land = array("iso_land" => "FRA");
          }

          $ausgabe = array( "haus" => array ("typ"=>"Bauer"),"land" => $land);

          echo $ausgabe['land']['iso_land'];
          ?>
          mfg
          Günni


          Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
          Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
          Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
          City-Tiger - Online durch die Straßen tigern...

          Kommentar


          • #6
            Wobei mir das auch umständlich erscheint.
            Mach doch ein array, in dem alle Deine Länder sind und dann
            je nachdem welches Du haben willst fügst DU in deinem anderen Array ein.
            Beantworte nie Threads mit mehr als 15 followups...
            Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

            Kommentar


            • #7
              Hallo,

              also die Lösung von Mellopie mit

              if($land ="Deutschland"){
              $land => array("iso_land" => "DEU"),
              } elseif($land ="Frankreich"){
              $land => array("iso_land" => "FRA"),
              }
              array(
              "haus" => array ("typ"=>"Bauer"),
              "land" => $land
              );

              funktioniert eigentlich ohne Probleme, so wird die If-Bedingung einfach ausserhalb des Arrays abgefragt. Danke für den Tip.

              Gruß Ralf

              Kommentar


              • #8
                @Mellopie:
                Wie hast du das gemeint?
                "Mach doch ein array, in dem alle Deine Länder sind und dann
                je nachdem welches Du haben willst fügst DU in deinem anderen Array ein."


                bekomme nun mit der bisherige Methode Probleme wenn ich mehrere Variablen im Array setze , wie z.B.
                array(
                "haus" => $haus,
                "land" => $land
                );

                Kommentar

                Lädt...
                X