Serialisieren von Arrays

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

  • Serialisieren von Arrays

    Hi Leute,

    Ich habe ein Problem, das nur auf meiner Produktionsumgebung (LAMP, PHP3.0.18/ PHP4.0.6), aber nicht in meiner Entwicklungsumgebung (WAMP, PHP3.0.12/ PHP4.0.5) passiert.

    Folgendes passiert :

    Ich benutze ein großes assoziatives ARRAY um statistische Berechnungen und einige Darstellungsparameter zu verwalten.
    Dieses ARRAY serialisiere ich, dannach wandle ich noch Sonderzeichen um und schreibe diesen resultierenden String in die DB (also addslashes(serialize($MeinArray)) ).

    Beim Auslesen entferne ich als erstes die Slashes mit stripslashes, dann deserialisiere ich das ganze wieder.
    In meiner Test und Entwicklungsumgebung halte ich nun wieder erwartungsgemäß das ARRAY in Händen.

    In meiner Produktionsumgebung erhalte ich nach dem deserialisieren eine leere Variable. (Wohl gemerkt....erst nach dem DESERIALIZE !!!).

    Ist Euch irgendwas bekannt, was bei Deserialize schieflaufen kann ?


    Gruß
    Michael



  • #2
    array's deserialisieren

    Hi,
    kann es sein, daß in den einzelnen Array-Positionen Strings enthalten sind, die bereits " Anführungszeichen enthalten ?
    Wenn dies der Fall ist, werden sämtliche Inhalte einfach abgeschnitten.
    Beipspiel (serialisierte Variable):

    <code>a:5s:9:"Dies ist ein Text in \"Anführungszeichen\"";a:1s:

    Das sollte nicht passieren:

    a:5s:9:"Dies ist ein Text in "Anführungszeichen"";a:1s:</code>

    Ausserdem scheint es in php3 der Fall zu sein, daß Array's nach dem deserialisieren, auf dem letzten Element stehen. Es sollte also nach dem deserialisieren ein reset(arrayname) ausgeführt werden.

    Ich hoffe ich konnte Dir weiterhelfen.

    Gruß
    deep

    http://www.x-tremedev.de

    Kommentar


    • #3
      Hm.....das mag der Fehler sein......

      Danke, werde es heute abend sofort ausprobieren.....

      Ich wundere mich allerdings, warum es unter Windows läuft und unter LINUX nicht !

      Gruß

      Michael

      Kommentar

      Lädt...
      X