class Element()
{
public $childs;
public $neighbours;
protected $parent;
public function adopt($element) {
$element->parent = $this;
$this->childs[] = $element;
$element->neighbours =& $this->childs;
}
Если где-либо в дальнейшем сделать присваивание $element->neighbours = array(...), то связь со значением $element->parent->childs разорвется. var_dump($element->neighbours === $element->parent->childs) кажет boolean(false).
Это непредсказуемое поведение, или это я чего-то недопонимаю в самой концепции? В манах сказано, что при использовании ссылок в массивах необходимо соблюдать осторожность, но конкретно про данный случай ничего, вроде, нет.
_____________