- var_dump: documentation ( source)
<?php
class Foo
{
private $holder;
private $children;
public function __construct($content = '', array $children = [])
{
$this->holder = $content;
$this->setChildren($children);
}
public function setChildren(array $children)
{
$this->children = $children;
foreach ($children as $child) {
$child->setParent($this);
}
}
}
class Bar
{
private $holder;
private $parent;
public function __construct($content = '', Foo $parent = null)
{
$this->holder = $content;
$this->setParent($parent);
}
public function setParent(Foo $parent = null)
{
$this->parent = $parent;
}
}
$child0 = new Bar('child#0');
$child1 = new Bar('child#1');
//same
$child2 = new Bar('child#0');
$child3 = new Bar('child#1');
$parent0 = new Foo('parent', [$child0, $child1]);
$parent1 = new Foo('parent', [$child2, $child3]);
//Fatal:
var_dump($parent0 == $parent1);