PHP Style serialization

This script exposes serialize and unserialize functions that very closely mimic PHP's corresponding functions. It handles ints, floats, strings, booleans, nulls, and arrays. No custom objects or classes.

// string serialize(mixed);
var fruit = ["apples", "oranges", "bananas"];
var s = serialize(fruit);
alert(s);

// outputs:
a:3:{i:0;s:6:"apples";i:1;s:7:"oranges";i:2;s:7:"bananas";}

// mixed unserialize(string);
var obj = unserialize(s);
alert(s);

// outputs
apples,oranges,bananas

View source

Example:

Test javascript expression:

Serialized expression:

Unserialized: (does not show array nesting or keys)

Reserialized: