PHP にこの最適化が組み込まれているかどうか疑問に思っています。通常、参照を使用せずに foreach を呼び出すと、渡された配列がコピーされて操作されます。その配列への参照カウントが 1 しかない場合はどうなりますか?
たとえば、getData がデータの配列を返すとします。
foreach(getData() as $data)
echo $data;
getData() によって返される配列には参照が 1 つしかないため、参照によって使用され、最初にコピーされるべきではありませんか、それとも php にはこの最適化がありませんか?
これは、不適切に記述された多くのコードを助けることができる単純な最適化のように思えます。