- preg_replace_callback: documentation ( source)
- unserialize: documentation ( source)
- serialize: documentation ( source)
- preg_replace: documentation ( source)
- json_encode: documentation ( source)
<?php
class test {
public $inner = NULL;
protected $prot = 1;
private $priv = 2;
}
$one = new test;
$two = new test;
$one->inner = $two;
$two->inner = $one;
for($i = 100; $i > 0; $i--) {
$serialized = preg_replace('/O:\d:"([^"]*)":/i', 'O:8:"stdClass":', serialize($one));
$storage = json_encode(unserialize(preg_replace_callback('/s:(\d+):"\x00([^"\x00]+)\x00([^"]+)"/i',
function($matches) { return 's:'.($matches[1]-(strlen($matches[2])+2)).':"'.$matches[3].'"'; },
$serialized)));
}