Что означает & перед переменной при переборе данных массива?
foreach ($this->data as $id=>&$node) {}
У вас есть два варианта цикла:
foreach ($this->data as $id => $node) {}
и (вариант со ссылкой)
foreach ($this->data as $id =>& $node) {}
Разница только лишь в возможности во втором случае изменить элемент массива $node простым присвоением $node = 123.
Никакого замедления или копирования данных, если не используются ссылки, не происходит, поскольку PHP использует механизм Copy-on-Write. В варианте цикла без ссылки программисту просто запрещается использовать ссылку, но внутри движка PHP она все так же имеет место.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости