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 


