johanna: array_push

Hallo,

möchte mit array_push gleichzeitig 2 werte an einen mehrdimensionalen assoziativen array anhängen, nur will es mir nicht gelingen!!!

ich brauche am ende ungefähr sowas:

mitglieder (Array)

[0]
(
    name => hansi
    ort => münchen
)

[1]
(
    name => rudi
    ort => hamburg
)
...

dann möchte ich via array_push ein neues wertepaar hinzufügen. später möchte ich dann so darauf zugreifen:

print "mitgleider[0][name]";
--> hansi

oder:
print "mitglieder[1][ort]";
--> hamburg

kann mir jemand ein solches konstruct zeigen???

vielen dank!

johanna

  1. Hi,

    möchte mit array_push gleichzeitig 2 werte an einen mehrdimensionalen assoziativen array anhängen,

    welchen Vorteil versprichst Du Dir davon, dies in einem statt zwei Funktionsaufrufen zu tun?

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. welchen Vorteil versprichst Du Dir davon, dies in einem statt zwei Funktionsaufrufen zu tun?

      wegen mir auch in zweien! auch für tips hierfür bin ich dankbar!! ich fülle den attay nämlcih ine einer schleife und komme nicht wirklich weiter...

      danka,
      johanna

      1. Hi,

        welchen Vorteil versprichst Du Dir davon, dies in einem statt zwei Funktionsaufrufen zu tun?

        wegen mir auch in zweien!

        hm, dann verstehe ich Dein Problem nicht. Was hast Du, was willst Du wo einfügen, welches Ergebnis erwartest Du, zu welchen Ergebnissen bist Du mit welchen Versuchen gekommen?

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. ich übergebe in einer while schleife einem select statement ein bestimmte id. dieses select statement gibt mir wieder eine id und einen namen zurück. die id wird innerhalb der schleife sooft wieder an die query übergeben, bis ich kein ergebnis aus der datenbank mehr bekomme.

          die id's und die namen, die ich in jedem schleifendurchlauf erhalte möchte ich mir mit array_push in ein array speichern, somit hätte ich dann am ende ein mit werten gefülltes array, etwa so stelle ich mir das dann vor:

          Array
          (
              [0] => Array
                  (
                      [name] => sepp
                      [id] => 1174
                  )

          )

          Array
          (
              [1] => Array
                  (
                      [name] => hans
                      [id] => 1167
                  )

          )

          Array
          (
              [2] => Array
                  (
                      [name] => julia
                      [id] => 1
                  )

          )

          nun mein problem:
          wie muss das array aussehen, das ich vor den schleifendurchläufen schreibe, um es dann in der schleife zu füllen? wie schaffe ich es mit array_push jeweil beide ergebnisse (id, name) in das array zu schreiben?

          vielen dank.

          1. Hi,

            ich übergebe in einer while schleife einem select statement ein bestimmte id. dieses select statement gibt mir wieder eine id und einen namen zurück. die id wird innerhalb der schleife sooft wieder an die query übergeben, bis ich kein ergebnis aus der datenbank mehr bekomme.

            hm, hoffentlich sind das nicht mehr als zwei DB-Selects.

            wie muss das array aussehen, das ich vor den schleifendurchläufen schreibe, um es dann in der schleife zu füllen?

            Leer, denn augenscheinlich willst Du es erst innerhalb der Schleife füllen.

            wie schaffe ich es mit array_push jeweil beide ergebnisse (id, name) in das array zu schreiben?

            Nach meinem Kenntnisstand ist es mit PHP kein Problem, array_push mit einer komplexen Datenstruktur aufzurufen und somit ein (assoziatives) Array anzufügen. Ich verstehe somit noch immer nicht Dein Problem.

            Cheatah

            --
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
  2. Hallo Johanna,

    versuch's mal so:

    $sql = "SELECT id, name FROM $table_name";
      $result = mysql_query($sql)or die($db_error);
      $i=0;
      while($data = mysql_fetch_assoc($result)){
        $foobar[$i]['id']=$data['id'];
        $foobar[$i]['name']=$data['name'];
        $i++;
      }
      print_r ($foobar);

    Dieter

    1. so ghets:

      array_push($myarray,array('name' => $myarray['0']['name'], "id" => $myarray['0']['id']));

      so kann man sich beliebig viele daten an den array hängen..

      thx