Мне интересно, есть ли в PHP встроенная оптимизация. Обычно, когда вы вызываете foreach без ссылки, он копирует переданный массив и работает с ним. Что произойдет, если счетчик ссылок на этот массив будет только 1?
Скажем, например, если getData возвращает некоторый массив данных.
foreach(getData() as $data)
echo $data;
Поскольку массив, возвращаемый getData (), имеет только одну ссылку, не должен ли он просто использоваться ссылкой и не копироваться первым или php не имеет этой оптимизации?
Это похоже на простую оптимизацию, которая может помочь во многих плохо написанных кодах.