Thorsten: Auf Element eines mehrdimensionalen Arrays direkt zugreifen

Hi,

ich hab ein Array, welches ich so fülle:
while($row1=mysql_fetch_row($result1)) {
array_push ($neue_User_Liste, $row1);
   }
Und so greife ich auf die Elemente zu:

foreach ($neue_User_Liste as $Inhalt) {
print "<br>Zeile: $Inhalt[1] hat ID $Inhalt[0]<br>";
  }

Aber ich wollte eigendlich über sowas in der Art von:

print "Zeile: $neue_User_Liste[1][1]<br>";

direkt auf ein Element zugreifen.

Leider ist die Ausgabe am Bildschirm

Array[1]

Was mache ich falsch?

Grüße

Thorsten

  1. hi,

    print "Zeile: $neue_User_Liste[1][1]<br>";

    Leider ist die Ausgabe am Bildschirm
    Array[1]

    php hat dadurch, dass du den varaiblennamen innerhalb eines strings verwendest, probleme dessen ende zu erkennen.

    meinst du jetzt $neue_User_Liste[1], und danach kommt der text [1] ...?
    nein, tust du nicht - aber woher soll php das wissen?

    eine von mehreren möglichkeiten:

    breche den string an der stelle auf, dann sollte es gehen:

    print "Zeile: ".$neue_User_Liste[1][1]."<br>";

    gruss,
    wahsaga

    1. Hi Wahsaga,

      tatsächlich, nun klappt es. Ok, ist mir auch nachvollziehbar, was Du schreibst.

      Danke!

      Und: Welche Möglichkeiten gäbe es denn noch? (Nur mal so interessenhalber).

      Grüße

      Thorsten

      hi,

      print "Zeile: $neue_User_Liste[1][1]<br>";

      Leider ist die Ausgabe am Bildschirm
      Array[1]

      php hat dadurch, dass du den varaiblennamen innerhalb eines strings verwendest, probleme dessen ende zu erkennen.

      meinst du jetzt $neue_User_Liste[1], und danach kommt der text [1] ...?
      nein, tust du nicht - aber woher soll php das wissen?

      eine von mehreren möglichkeiten:

      breche den string an der stelle auf, dann sollte es gehen:

      print "Zeile: ".$neue_User_Liste[1][1]."<br>";

      gruss,
      wahsaga

      1. Hallo Thorsten,

        Bitte zitiere nur das, worauf Du Dich beziehst,
        und gliedere Dein Posting anstaendig:
        </faq/#Q-09a> und </faq/#Q-09b>

        Und: Welche Möglichkeiten gäbe es denn noch? (Nur mal so interessenhalber).

        print "Zeile: {$neue_User_Liste[1][1]}<br>";

        Sogenannte "Curly brace" oder "komplexe" Syntax.

        Das Unterbrechen des Strings ist mir aber sympathischer. ;-)

        Lies (deutsch und englisch - im englischen Original hat es
        oft mehr und bessere Beispiele):
        PHP-Manual: Strings, Einfache und doppelte Anfuehrungszeichen u.s.w.
        http://www.php.net/manual/de/language.types.string.php
        http://www.php.net/manual/en/language.types.string.php
        Abschnitt davon:
        Variablen-Analyse (parsing) in Strings:
        http://www.php.net/manual/en/language.types.string.php#language.types.string.parsing

        http://www.php.net/manual/de/language.types.array.php
        http://www.php.net/manual/en/language.types.array.php

        Gruesse,

        Thomas

        --
        Dank /my/ automatisch ausgeblendet: JavaScript, ASP.
        Manuell "ausgeblendet": Threads mit Frames, Iframes und Scrollbalken im Subject...
        Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
        1. Danke...

          Thorsten

  2. hallo Thorsten
    nur mal verständnisshalber:

    ich hab ein Array, welches ich so fülle:
    while($row1=mysql_fetch_row($result1)) {
    array_push ($neue_User_Liste, $row1);
       }

    klappt das einwandfrei?
    weil wenn du so auf das array zugreifst:

    foreach ($neue_User_Liste as $Inhalt) {
    print "<br>Zeile: $Inhalt[1] hat ID $Inhalt[0]<br>";
      }

    frag ich mich wo der 2. Index herkommen soll?
    für mich sieht das wie ein normales 1 dimensionales array aus?

    schau dir das befüllte array mal mit print_r($neue_User_Liste)
    an, vielleicht schaut die struktur ein wenig anders aus...

    hoffe das hilft dir ein bisschen? *G*

    lg hoagie

    1. hi,

      klappt das einwandfrei?

      ja, dürfte es tun.

      frag ich mich wo der 2. Index herkommen soll?
      für mich sieht das wie ein normales 1 dimensionales array aus?

      $row1=mysql_fetch_row($result1)

      liefert ein array zurück.

      und dieses wird dann hier komplett

      array_push ($neue_User_Liste, $row1);

      als neues element in das array $neue_User_Liste eingefügt.

      daraus dass das, was hier als neues element in $neue_User_Liste eingefügt wird, von sich aus schon ein array ist, ergibt sich also hier eine 2. dimension.

      gruss,
      wahsaga

      1. Hi,

        perfekt erkannt, genauso isses. :-)

        Thorsten

        daraus dass das, was hier als neues element in $neue_User_Liste eingefügt wird, von sich aus schon ein array ist, ergibt sich also hier eine 2. dimension.

        gruss,
        wahsaga