PHP serialization format

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

The PHP serialization format is the serialization format used by the PHP programming language. The format can serialize PHP's primitive and compound types, and also properly serializes references.[1] The format was first introduced in PHP 4.[2]

In addition to PHP, the format is also used by some third-party applications that are often integrated with PHP applications, for example by Lucene/Solr.[3]

Syntax

[edit | edit source]

The syntax generally follows the pattern of one-letter code of the variable type, followed by a colon and the length of the data, followed by the variable value, and ending with a semicolon. For the associative array, the format is <serialised key> ; <serialised value>, repeated for each association/pair in the array.

Type Serialization examples
Null N;
Boolean b:1;
b:0;
Integer i:685230;
i:-685230;
Floating point d:685230.15;
d:INF;
d:-INF;
d:NAN;
String s:5:"apple";
s:6:"A to Z";
Associative array a:4:{i:0;b:1;i:1;N;i:2;d:-421000000;i:3;s:6:"A to Z";}
a:2:{i:42;b:1;s:6:"A to Z";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}}
Object O:8:"stdClass":2:{s:4:"John";d:3.14;s:4:"Jane";d:2.718;}
Reference a:2:{i:0;s:3:"foo";i:1;R:2;}

References

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
[edit | edit source]