AllesMeins: numemrischen in assoziativ Array umwandeln

Hallo,

ich habe folgendes Problem. Ich habe einen numerischen Array (der von file()) geliefert wird und würde daraus gerne einen assoziativen Array draus machen. Gibt es da irgendeine kurze elegante Methode, weil ein

$array['wert'] = $array2[0];
$array['wert2'] = $array2[1];

ist mir doch etwas plumb. Geht das irgendwie eleganter?

Grüsse

Marc

  1. Halihallo AllesMeins

    $array['wert'] = $array2[0];
    $array['wert2'] = $array2[1];
    ist mir doch etwas plumb. Geht das irgendwie eleganter?

    Die Eleganz hängt davon ab, ob du einen Algorithmus findest, der automatisch
    0 in 'wert' bzw. 1 in 'wert2' überführt. Findest du einen solchen, der deiner
    Aufgabenstellung entspricht, geht es eleganter, andernfalls nicht.

    Frage: Was willst du tun?

    Viele Grüsse

    Philipp

    1. Hiho,

      Die Eleganz hängt davon ab, ob du einen Algorithmus findest, der automatisch
      0 in 'wert' bzw. 1 in 'wert2' überführt. Findest du einen solchen, der deiner
      Aufgabenstellung entspricht, geht es eleganter, andernfalls nicht.

      Ok, das dürfte nicht möglich sein. Ich habe auch eher eine Methode gesucht.- Sowas wie eine (wohl nicht existente) funktion array_change_key("0" => "wert1", 1 => "wert2") oder sowas mit der ich einfach den array nehmen kann und ihm neue keys zuweisen kann.

      Frage: Was willst du tun?

      Ich nutze Textdateien zum speichern einiger Userdaten. Dabei kommt in jede Zeile ein Eintrag. und diese Einträge möchte ich gerne benennen, so das ich halt nicht auf $array[1] zugreifen muss, sondern das übersichtlichere $array['passwort'] (was halt in Zeile 2 steht) nutzen kann...

      Marc

      1. Halihallo AllesMeins

        Ok, das dürfte nicht möglich sein. Ich habe auch eher eine Methode gesucht.- Sowas wie eine (wohl nicht existente) funktion array_change_key("0" => "wert1", 1 => "wert2") oder sowas mit der ich einfach den array nehmen kann und ihm neue keys zuweisen kann.

        Das ist IMHO das, was RobiC danach vorgeschlagen hat. Mit einigen Korrekturen isses
        getan.

        Ich nutze Textdateien zum speichern einiger Userdaten. Dabei kommt in jede Zeile ein Eintrag. und diese Einträge möchte ich gerne benennen, so das ich halt nicht auf $array[1] zugreifen muss, sondern das übersichtlichere $array['passwort'] (was halt in Zeile 2 steht) nutzen kann...

        Nun denn, du sagst es selber: Eine gewisse Zeile hat eine gewisse Bedeutung. Diese
        Bedeutungszuordnung liesse sich über ein durch dich definiertes assoziatives Array der
        Form (Linien_Nummer=>Stichwort) oder ein Array, wie es RobiC vorschlägt abbilden und
        das Eingabearray entsprechend transformieren (die Abbildungsvorschrift hast du ja dann
        genau definiert).

        Viele Grüsse

        Philipp

      2. Moin!

        Ich nutze Textdateien zum speichern einiger Userdaten. Dabei kommt in jede Zeile ein Eintrag. und diese Einträge möchte ich gerne benennen, so das ich halt nicht auf $array[1] zugreifen muss, sondern das übersichtlichere $array['passwort'] (was halt in Zeile 2 steht) nutzen kann...

        Wenn du etwas mehr speicherst, als jetzt, kannst du dir viel Arbeit sparen.

        Die erste Zeile der Textdatei muß lauten:
        <?php

        Dann speicherst du deine Passworte so:

        $array['username1'] = "derusername";
        $array['passwort1'] = "daspasswort";

        Die letzte Zeile lautet dann:
        ?>

        Und einlesen tust du diese Datei einfach mit
        include("Dateiname");

        - Sven Rautenberg

        --
        ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|
  2. $array = array("w1", "w2", "w3", "w4", "w5");

    foreach($array as $value) {
       $newarray[$value] = $value;
    }