kostenloser Webspace werbefrei: lima-city


Arrayfrage

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    speedtouch92

    Kostenloser Webspace von speedtouch92

    speedtouch92 hat kostenlosen Webspace.

    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?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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>';
  4. Autor dieses Themas

    speedtouch92

    Kostenloser Webspace von speedtouch92

    speedtouch92 hat kostenlosen Webspace.

    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
  5. 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
  6. t*****b

    @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.
  7. $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?
  8. Autor dieses Themas

    speedtouch92

    Kostenloser Webspace von speedtouch92

    speedtouch92 hat kostenlosen Webspace.

    Nunja,

    wie denn dann??
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!