Simon: array zuweisen

Hallo,

eine verständnissfrage:

Wenn ich ein Array $haus("wand", "dach", "fenster") definiert habe kann ich es ja mit $haus[2] auslesen?
Aber ein Array das mit $haus("wand"=>"ziegel", "dach"=>"platten, "fenster"=>"glas") definiert habe, kann ich nicht über nummern sondern nur über $haus[glas] ansprechen?

Gibt es da eine Möglichkeit, die ich noch nicht kenne, solch ein Array trotzdem über Nummer auszulesen?

Liebe Grüße,

Simon

  1. Hallo,

    Wenn ich ein Array $haus("wand", "dach", "fenster") definiert habe kann ich es ja mit $haus[2] auslesen?

    Ja (Ausgabe wäre dabei "fenster").

    Aber ein Array das mit $haus("wand"=>"ziegel", "dach"=>"platten, "fenster"=>"glas") definiert habe, kann ich nicht über nummern sondern nur über $haus[glas] ansprechen?

    Ja (Ausgabe wäre dabe "" da $haus['glas'] nicht gefiniert wurde).

    Gibt es da eine Möglichkeit, die ich noch nicht kenne, solch ein Array trotzdem über Nummer auszulesen?

    Ja. Sieh dir bitte folgeden Links des Manuals an:

    (each() + (while() | for())) | foreach()

    Gruß aus Berlin!
    eddi

    1. hi,

      Aber ein Array das mit $haus("wand"=>"ziegel", "dach"=>"platten, "fenster"=>"glas") definiert habe, kann ich nicht über nummern sondern nur über $haus[glas] ansprechen?

      Ja (Ausgabe wäre dabe "" da $haus['glas'] nicht gefiniert wurde).

      ich würde eine notice, dass statt der undefinierten konstanten glas 'glas' angenommen wurde, sowie eine warning, dass mit diesem index kein element existiert, erwarten ;-)

      gruß,
      wahsaga

      --
      "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
      1. Hallo,

        also irgendwie bin ich noch nicht richtig schlau geworden!
        $haus = array ("wand"=>"ziegel", "dach"=>"platten", "fenster"=>"glas");

        Wenn ich jetzt das mit echo $haus[1]; etwas auslesen will, dann funktioniert das nicht. Mit echo $haus["dach"]; jedoch schon. Gibt es einen Möglichkeit, dass Array auch über eine Zahl auszulesen?

        Liebe Grüße,

        Simon

    2. Aber ein Array das mit $haus("wand"=>"ziegel", "dach"=>"platten, "fenster"=>"glas") definiert habe, kann ich nicht über nummern sondern nur über $haus[glas] ansprechen?

      Gibt es da eine Möglichkeit, die ich noch nicht kenne, solch ein Array trotzdem über Nummer auszulesen?

      Ja. Sieh dir bitte folgeden Links des Manuals an:

      (each() + (while() | for())) | foreach()

      Das ist zwar möglich jedoch sehr umständlich, weil man da immer selber mitzählen muss. Einfacher ist:

      $haus_kopie_mit_numerischen_keys = array_values($haus);
      echo $haus_kopie_mit_numerischen_keys[2];