kleine array frage

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • kleine array frage

    habe wieder ein prob mit arrays

    also ich wollte folgendes anlegen:


    $mein_array = array();

    array_push(
    $mein_array, 'element1' => array(
    'key1' => 'wert1', 'key2' => 'wert2', 'key3' => 'wert3'
    )
    );

    das ergibt einen parser error.

    eigentlich wollte ich so eine struktur innerhalb eines arrays erzeugen:

    PHP-Code:
    element1 key1 wert1
             
    key2 wert2
             
    key3 wert3
    element2 
    key1 wert1
             
    key2 wert2
             
    key3 wert3
    element3 
    - ................... 
    usw.

    ziel soll sein, das ich alles über den 'element' key ansprechen kann.
    was mach ich falsch?

  • #2
    moin,

    es geht dir nur darum, ein mehrdimensionales array zu erzeugen?

    PHP-Code:
    $meinarray = array(

    'element1' => array(
            
    'key1' => 'wert1',
            
    'key2' => 'wert2',
            ),

    'element2' => array(
            
    'key1' => 'wert1',
            
    'key2' => 'wert2',
            ),
                
    'element3' => array(
            
    'key1' => 'wert1',
            
    'key2' => 'wert2',
            ),
                
    ); 
    daruaf zugreifen kannst du dann mit:
    $meinarray['element1']['key1'] etc.
    martin

    Kommentar


    • #3
      OffTopic:
      @martin_de
      jetzt wollte ich antworten und sehe deins schon .... jetzt muss ich mir das merken...
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        hm jaein

        also ich muss das array mit array_push bei bedarf füllen. d.h. ab und und an mal einen neuen eintrag einfügen.

        und array_push erzeugt einen parse error.

        ich seh jetzt zwischen meiner und deiner methode keinen unterschied, bis auf array_push *g*

        Kommentar


        • #5
          speicher das einzufügende array mal zwischen und pushe das temp-array dann erst rein.

          teste das mal so.

          PHP-Code:
          $mein_array = array();

          $array = array('key1' => 'wert1''key2' => 'wert2''key3' => 'wert3');

          array_push($mein_array$array); 
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            aber dann fehlt mir doch der 'element' schlüssel oder nicht?? *aufdemschlauchsteh*

            oder ist $array dann gleich der schlüssel?

            ich brauch da eine assoziation

            Kommentar


            • #7
              das musst du mal testen.

              notfalls nimm mal $array[schluessel] und mache den push mit $array.
              da sage mir mal, was rauskommt. das könnte es aber schon sein.
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar


              • #8
                jor mit $array['schluessel'] klappt es jetzt

                hm ist nur ziemlich undurchsichtig *g*

                aber ok mal schauen, was ich da machen kann.

                danke erstmal

                Kommentar


                • #9
                  aber warum musst du das mit push machen?

                  das geht doch auch einfacher....

                  PHP-Code:
                  $array[schluessel1] = array('key1' => 'wert1''key2' => 'wert2''key3' => 'wert3');
                  $array[schluessel2] = array('key1' => 'wert1''key2' => 'wert2''key3' => 'wert3');
                  $array[schluessel3] = array('key1' => 'wert1''key2' => 'wert2''key3' => 'wert3');
                  $array[schluessel4] = array('key1' => 'wert1''key2' => 'wert2''key3' => 'wert3'); 
                  EDIT:
                  oder wie martin_de es schon gezeigt hat als eine anweisung.
                  INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                  Kommentar


                  • #10
                    hmm.. ja öhm wozu ist array_push denn da *g*

                    da hat php schon so nette funktion von haus aus und dann soll ich sie nicht benutzen?

                    Kommentar


                    • #11
                      array_push nimmt man, wenn man ... ach keine ahnung ...

                      ich verwende immer nur array_unshift. (bei bedarf)

                      das push geht ja wie ich beschrieben habe, einfacher. vielleicht hat es ja auch einen sinn. den erkenne ich aber derzeitig nicht FÜR MICH

                      EDIT:
                      array_pop -> array_unshift
                      Zuletzt geändert von Abraxax; 28.01.2003, 17:10.
                      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                      Kommentar


                      • #12
                        hm jetzt hab ich ein problem *g*

                        jetzt kann ich immer nur ein element mit dem selben namen anlegen

                        $array['schluessel'] = $mein_array;
                        $array['schluessel'] = $mein_array;

                        geht natürlich nicht... mit array_push ging es vorher weil ich noch ein array drum hatte. mist!

                        leider gibt es einige elemente die den gleichen namen haben (aber unterschiedlichen inhalt), wie kann ich das denn jetzt am besten lösen? jemand eine idee? =)

                        die struktur muss ich am besten mal überdenken *seufz*

                        Kommentar


                        • #13
                          ähm ok hat sich schon erledigt, ich erweiter das array einfach um eine tiefe dann haut's hin

                          Kommentar

                          Lädt...
                          X