Arrayfrage
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abruf
array
ausgabe
befehl
beitrag
besten mal
daten
deswegen
eins
element
fehler
flle
logischen zusammenhang
lsen
mache
manual
null
schmarrn
stil
zugreifen
-
Hallo,
ich habe dieses Script, um verschiedene Daten zu kreieren:
$meta = array();
$meta[] = array();
$meta[][] = array();
$meta[][][] = array();
$meta[][][][] = array();
$meta["gastebuch"][][][1]["teil_a"] = "Teilinhalt 1a";
$meta["gastebuch"][][][1]["teil_b"] = "Teilinhalt 2a";
$meta["forum"][][][1]["teil_a"] = "Teilinhalt 1b";
$meta["forum"][][][1]["teil_b"] = "Teilinhalt 2b";
Warum kann ich die Arraydaten nun nicht mit
echo $meta["forum"][][][1]["teil_a"];
Anwählen?
Ich dachte es liegt daran, dass ich dann diese uweisung benutzen muss:
"bla" => "Teilinhalt"
Aber wie mache ich dass, wenn ich das array so wie oben füllen will? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo speedtouch92,
gibt mal mit print_r das array aus, dann siehts du die Zuordungen besser
und kannst erkennen wo der fehler liegt.
print '<pre>'.print_r($meta, 1).'</pre>';
-
Also,
das was ich gepostet habe, war nur ein Teil des Scriptes.
Das vollstaändige Script ist unter:
http://beatlesbeat.be.funpic.de/array.html zu finden.
Die ausgabe von print_r ist hier:
http://beatlesbeat.be.funpic.de/array.txt
Nur hat mir das leider auch nicht geholfen,
bis auf, dass ich mir nun sicher bin, dass es daran liegt, dass ich die Arrays nicht mit ["gastebuch"][][]["teila"] aufrugen kann.
Beitrag geändert: 3.11.2006 22:04:25 von speedtouch92 -
Hi,
der "Befehl" der Klammern [] bedeutet, dass dem Array ein neues Element zugewiesen wird und deswegen kann man dadurcj die Elemnte nicht abrufen (durch z.B. print $array[]['data'] wird ein neues Elemnt erschaffen);
Ich würde dir empfehlen arrays anders zu erzeugen und zwar so:
$array = array( 'eins' => array( 0 => 'null', 1, array(0,1,2,"string") ), 'noch_ein_el' => array( array('a','b',3), 'a' => array( 'eins', 'zwei' ) ), 'el1' => 'foo' );
Dadurch wird viel übersichtlicher, welches Elemnt wo hin gehört und so kannst du auch gleich einfach darauf zugreifen:
print $array['eins'][0]; // null print $array['eins'][1]; // 1 print $array['noch_ein_el']['a'][0]; // eins print $array['el1']; // foo
Alles klar?
Sonst einfach mal http://php.net besuchen und dann das Forum befragen.
--> http://ch2.php.net/manual/en/language.types.array.php
mfg,
hr
Beitrag geändert: 4.11.2006 9:52:32 von heavyraptor -
@speedtouch92:
Dein Stil zu programmieren ist ein bisschen außergewöhnlich und ein wenig arg umständlich. Befass dich am Besten mal mit XML, dann kannste den ganzen überdimensionalen Array-Schmarrn weckschmeißen. -
$meta = array();
$meta[] = array();
$meta[][] = array();
$meta[][][] = array();
$meta[][][][] = array();
$meta['gastebuch'][0][0][1]['teil_a'] = 'Teilinhalt 1a';
$meta['gastebuch'][0][0][1]['teil_b'] = 'Teilinhalt 2a';
$meta['forum'][0][0][1]['teil_a'] = 'Teilinhalt 1b';
$meta['forum'][0][0][1]['teil_b'] = 'Teilinhalt 2b';
print ($meta['forum'][0][0][1]['teil_b']);
Wie heavyraptor schon sagte, funktioniert der Zugriff über [] nicht.
@trueweb :
"Array-Schmarrn"???
Gerade mit Arrays kann man Daten wunderbar in einen logischen Zusammenhang bringen. Außerdem wie willst du es mit XML lösen? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage