400 of 410 menu

The unserialize Function

The unserialize function takes a serialized string and returns the corresponding PHP value. Its first parameter is the string, and the second optional parameter is an array of options to control the deserialization process.

Syntax

unserialize(string $data, array $options = []): mixed

Example

Convert a serialized string back to an array:

<?php $serialized = 'a:3:{i:0;s:1:"a";i:1;s:1:"b";i:2;s:1:"c";}'; $res = unserialize($serialized); print_r($res); ?>

Code execution result:

['a', 'b', 'c']

Example

Object deserialization:

<?php class Test { public $prop = 123; } $obj = new Test(); $serialized = serialize($obj); $res = unserialize($serialized); echo $res->prop; ?>

Code execution result:

123

Example

Using the 'allowed_classes' option:

<?php $serialized = 'O:4:"Test":1:{s:4:"prop";i:123;}'; $res = unserialize($serialized, ['allowed_classes' => false]); var_dump($res); ?>

Code execution result:

object(__PHP_Incomplete_Class)#1 (2) { ["__PHP_Incomplete_Class_Name"]=> string(4) "Test" ["prop"]=> int(123) }

See Also

  • the serialize function,
    which converts a value to a serialized string
  • the json_encode function,
    which converts a value to a JSON string
byenru