- var_dump: documentation ( source)
- unserialize: documentation ( source)
- serialize: documentation ( source)
<?php
class logger {
function __construct() {
print "logger constructing\n";
}
function __wakeup() {
print "logger wakeup\n";
}
function __destruct() {
print "logger destruct\n";
}
}
class obj {
var $prop;
function __wakeup() {
$this->prop = 'awake';
}
}
$a = [];
$a[] = new stdclass;
$a[0]->one = new logger;
$a[] = new obj;
$a[1]->prop =& $a[0];
$a[] =& $a[1]->one;
var_dump(serialize($a));
$x = 'a:3:{i:0;O:8:"stdClass":1:{i:0;O:6:"logger":0:{}}i:1;O:3:"obj":1:{s:4:"prop";R:2;}i:2;R:3}';
var_dump($x);
$y = unserialize($x);
var_dump($y);