- var_dump: documentation ( source)
- unserialize: documentation ( source)
- serialize: documentation ( source)
<?php
class a implements \Serializable
{
/** @var b */
private $b;
/** @var */
private $v;
public function __construct($v, b $b)
{
$this->b = $b;
$this->v = $v;
}
/**
* {@inheritdoc}
*/
public function serialize()
{
return serialize([$this->v, $this->b]);
}
/**
* {@inheritdoc}
*/
public function unserialize($serialized)
{
list($this->v, $this->b) = unserialize($serialized);
}
/**
* @return b
*/
public function getB()
{
return $this->b;
}
}
class b
{
private $b;
public function __construct($b)
{
$this->b = $b;
}
}
$b = new b('test');
$t = serialize([['field1' => new a(1, $b), 'field2' => new a(2, $b)]]);
$t = serialize([1, $t]);
list($sss, $uns) = unserialize($t);
$uns = unserialize($uns);
var_dump($uns);
var_dump($uns[0]['field1']->getB() === $uns[0]['field2']->getB());