Jump to content

PHP serialization format

From Wikipedia, the free encyclopedia
This is the current revision of this page, as edited by 2a02:a468:672b:1:1d8f:8db8:4a9a:aea5 (talk) at 17:53, 5 March 2025 (Added a sample to the table, the same one in the PHP internals book.). The present address (URL) is a permanent link to this version.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

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]

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]
  1. ^ "Serialization". PHP Internals Book. Retrieved 2020-07-05.
  2. ^ "PHP: serialize - Manual". PHP: Hypertext Preprocessor. Retrieved 2020-07-05.
  3. ^ "Response Writers | Apache Solr Reference Guide 8.5". lucene.apache.org. Retrieved 2020-07-05.
[edit]