Wie heißt diese Datenstruktur?
Niels
- datenbank
Guten Tag!
Meine Frage bezieht sich auf eine spezielle Datenformatierung, die ich in verschiedenen MySQL-Datenbanken vorgefunden habe. Ich würde mich freuen, wenn mir jemand sagen kann, ob diese Struktur einen bestimmten Namen hat und eventuell, wo ich weitere Informationen dazu finden kann.
Es handelt sich dabei um Text-Felder, die Daten beispielsweise in folgender Form enthalten:
(5 Beispiele aus verschiedenen Tabellen und Datenbanken)
a:1:{i:0;s:3:"all";}
a:2:{s:5:"value";s:1:"2";s:5:"other";s:0:"";}
a:1:{s:13:"administrator";b:1;}
a:1:{i:1;s:1:"6";}
a:6:{i:-1268581451;i:6;i:-1268582223;i:8;i:-1268586648;i:11;i:-1268591449;i:13;i:-1268655382;i:16;i:-1268655912;i:18;}
Meine eigenen Überlegungen dazu sind die:
Das "a" zu Beginn steht für "Array", das "s" für "String" und das "b" für "Boolean".
Die erste Zahl nach dem "s" gibt die Länge des Strings an, der String selbst steht in Anführungszeichen dahinter.
Leider lässt sich der Gedanke mit der Längenangabe nicht auch auf die Arrays anwenden.
Ich freue mich auf jede weitere Information dazu!
Herzlichen Dank im Voraus,
Niels
Hello,
Meine Frage bezieht sich auf eine spezielle Datenformatierung, die ich in verschiedenen MySQL-Datenbanken vorgefunden habe.
a:1:{i:0;s:3:"all";}
a:2:{s:5:"value";s:1:"2";s:5:"other";s:0:"";}
a:1:{s:13:"administrator";b:1;}
a:1:{i:1;s:1:"6";}
a:6:{i:-1268581451;i:6;i:-1268582223;i:8;i:-1268586648;i:11;i:-1268591449;i:13;i:-1268655382;i:16;i:-1268655912;i:18;}
Das sind seialisierte PHP-Arrays, also serialisierte Baumstrukturen.
siehe http://de.php.net/manual/de/function.serialize.php
und http://de.php.net/manual/de/function.unserialize.php
Ob es nun geschickt oder ungeschickt ist, Arrays seialisiert abzuspeichern, müsste untersuchen. Meistens fehlen einfach mehrere eigenen Tballen für eine saubere Datenhaltung.
Mit der Datenbank hat dies aber erstmal nichts zu tun.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hi,
Meine Frage bezieht sich auf eine spezielle Datenformatierung, die ich in verschiedenen MySQL-Datenbanken vorgefunden habe. Ich würde mich freuen, wenn mir jemand sagen kann, ob diese Struktur einen bestimmten Namen hat und eventuell, wo ich weitere Informationen dazu finden kann.
Es handelt sich dabei um Text-Felder, die Daten beispielsweise in folgender Form enthalten:
(5 Beispiele aus verschiedenen Tabellen und Datenbanken)a:1:{i:0;s:3:"all";}
a:2:{s:5:"value";s:1:"2";s:5:"other";s:0:"";}
a:1:{s:13:"administrator";b:1;}
a:1:{i:1;s:1:"6";}
Das sieht nach serialisierten Daten aus, vermutlich von PHPs serialize() erstellt.
Meine eigenen Überlegungen dazu sind die:
Das "a" zu Beginn steht für "Array", das "s" für "String" und das "b" für "Boolean".
Die erste Zahl nach dem "s" gibt die Länge des Strings an, der String selbst steht in Anführungszeichen dahinter.
Leider lässt sich der Gedanke mit der Längenangabe nicht auch auf die Arrays anwenden.
Ja, so in etwa funktioniert das.
Schau dir einfach mal mit ein paar Beispieldaten an, was serialize daraus macht.
MfG ChrisB
Moin!
Meine Frage bezieht sich auf eine spezielle Datenformatierung, die ich in verschiedenen MySQL Datenbanken vorgefunden habe.
Das sind PHP-serialisierte Variablen.
Meine eigenen Überlegungen dazu sind die:
Das "a" zu Beginn steht für "Array", das "s" für "String" und das "b" für "Boolean".
Die erste Zahl nach dem "s" gibt die Länge des Strings an, der String selbst steht in Anführungszeichen dahinter.
Leider lässt sich der Gedanke mit der Längenangabe nicht auch auf die Arrays anwenden.
Doch. Die Zahl hinter A gibt die Anzahl an Arrayelementen an, und zwar jeweils Key und Value.
- Sven Rautenberg
Hallo,
Das sind PHP-serialisierte Variablen.
Meine eigenen Überlegungen dazu sind die:
Das "a" zu Beginn steht für "Array", das "s" für "String" und das "b" für "Boolean".
Die erste Zahl nach dem "s" gibt die Länge des Strings an, der String selbst steht in Anführungszeichen dahinter.
Leider lässt sich der Gedanke mit der Längenangabe nicht auch auf die Arrays anwenden.Doch. Die Zahl hinter A gibt die Anzahl an Arrayelementen an, und zwar jeweils Key und Value.
s.a. :
<?php
var_dump(unserialize('a:1:{i:0;s:3:"all";}'));
Gruß
jobo
Vielen Dank,
das haut mich ja vom Hocker, wie schnell das bei euch geht!
Herzliche Grüße aus Berlin,
Niels
Hallo,
das haut mich ja vom Hocker, wie schnell das bei euch geht!
Herzliche Grüße aus Berlin,
mit den Jahren spricht sichs rum (;-).
Gruß
jobo