Assoziatives Array zur Laufzeit

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

  • Assoziatives Array zur Laufzeit

    Wie erstelle ich ein assoziatives Array zur Laufzeit oder etwas vergleichbares (so ne Art Hashmap)? Problemstellung ist in etwa so:

    Ich hole 4 Datensätze aus einer Datenbank und möchte diese zur späteren Verwendung in einem Array oder einer vergleichbar einfachen Datenstruktur speichern, um möglichst schnellen Zugriff darauf zu haben, d. h. nicht erst eine Suchfunktion auf das Array loslassen oder so.
    Nehmen wir an, ich hole folgende Datensätze:
    ID - Name
    3 - bla
    100 - blub
    908 - asdf
    100203 - qwertz
    und will später dann eben den entsprechenden Wert ausgeben also beispielsweise:
    PHP-Code:
    echo $meinarray[100]; 
    oder:
    PHP-Code:
    echo $meinarray[100203]; 
    wie löse ich das? Was ist, wenn meine beiden Felder in der Datenbank beispielsweise nicht numerisch sind und ich eben ein assoziatives Array erstellen will? Danke schonmal

  • #2
    dein beispiel ist ein numerisches modell. aber das sieht php eh nicht so eng, das vorgehen ist das gleiche:
    PHP-Code:
    $arr = array();

    $arr[0] = 'foo';
    $arr[100] = 'bar';
    $arr[1010] = 42
    # oder auch
    $arr['foo'] = 'bar';

    print_r($arr); 
    http://de.php.net/manual/en/language.types.array.php

    Kommentar


    • #3
      Gott wie peinlich, du kannst dir gar nicht vorstellen, wie sehr ich gerade auf dem Schlauch stand. Mein Script hat nicht funktioniert, lag aber an was anderem und irgendwie dachte ich es liegt an der Arrayzuweisung. Natürlich ist das Beispiel ein numerisches Array und fürs assoziative Array gehts natürlich analog, wie du es gezeigt hast, aber aus irgend einem Grund habe ichs vergessen. Super 1. Beitrag von mir
      Danke jedenfalls...

      Edit: Ich hatte diese Zuweisung im Kopf
      PHP-Code:
      $bla = array('foo' = > 'bar''bla' => 'blub'); 
      und damit konnte ich irgendwie "zur Laufzeit" nix anfangen

      Kommentar

      Lädt...
      X