Auf Element eines mehrdimensionalen Arrays direkt zugreifen
Thorsten
- php
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
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
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
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
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
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
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