Ankündigung

Einklappen
Keine Ankündigung bisher.

Array aus einem File wieder befüllen?

Einklappen

Neue Werbung 2019

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

  • Array aus einem File wieder befüllen?

    Hallo all!

    Folgendes Problem:

    Ich habe ein mehrdimensionales Array, welches ich mit Hilfe von print_r oder var_dump, wie auch immer, in einer lesbaren Form in einer Datei speichern will.

    Wie kann ich diese Struktur aus der Datei in eine andere Array-Variable wieder reinschreiben?

    Vielen Dank im Voraus! °-)

    P.S. Als ich so was ähnliches vor 15 Jahren in Perl gemacht habe, gab es spezielle Dumper Packages, womit man zwischen Variablen und Dateien in beiden Richtungen problemlos schreiben konnte. Wenn es in PHP auch sowas gäbe.....

  • #2
    Gar nicht.

    Serialisierte es (dann ist es halt unleserlich), aber dann kannst du es wieder in eine Variable (Array) "importieren", verändern und wieder in Datei speichern (serialisieren). http://php.net/manual/de/function.serialize.php bzw. unserialize().

    Oder nimm ein anderes Format dafür wenn du die Datei lesbar halten willst, JSON zB. Das kann man "pretty-printen" (JSON_PRETTY_PRINT) und immer wieder recyclen.

    Was ist der Sinn dieser Übung?
    The string "()()" is not palindrom but the String "())(" is.

    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      >> Was ist der Sinn dieser Übung?

      Ich möchte gerne eine Art Aggregation bauen.
      Ich befülle eine Tabelle im Browser mit Werten, mache einen Click, und die Werte werden zu den entsprechenden vorhandenen Hash-Keys dazuaddiert. Dann wird der Hash in einem File zwischengespeichert und beim Laden der Seite in einen Hash eingelesen um das nächste Addieren zu ermöglichen.
      So ist es sehr ungefähr gedacht.

      Kommentar


      • #4
        Und das Array soll persistent ("fix") in der Datei sein? Dann würde ich serialaize nehmen.

        Pseudocode:
        PHP-Code:
        $array = [ ... ] // dein Array.

        // speichern als "Stringwurst"
        file_put_contents("saved_array.txt"serialize($array));


        // später dann datei auslesen und aus der "Stringwurst" wieder ein Array machen
        $array unserialize(file_get_contents("saved_array.txt")) ; 
        The string "()()" is not palindrom but the String "())(" is.

        Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
        PHP.de Wissenssammlung | Kein Support per PN

        Kommentar


        • #5
          Super! Besten Dank! Werde heute Abend ausprobieren. ))

          Kommentar

          Lädt...
          X