我想知道 PHP 是否内置了这种优化。通常,当您在不使用引用的情况下调用 foreach 时,它会复制传递的数组并对其进行操作。如果对该数组的引用计数仅为 1 会发生什么?
例如,如果 getData 返回一些数据数组。
foreach(getData() as $data)
echo $data;
由于 getData() 返回的数组只有一个引用,它不应该只是被引用使用而不是先复制还是 php 没有这种优化?
这似乎是一个简单的优化,可以帮助很多写得不好的代码。
我想知道 PHP 是否内置了这种优化。通常,当您在不使用引用的情况下调用 foreach 时,它会复制传递的数组并对其进行操作。如果对该数组的引用计数仅为 1 会发生什么?
例如,如果 getData 返回一些数据数组。
foreach(getData() as $data)
echo $data;
由于 getData() 返回的数组只有一个引用,它不应该只是被引用使用而不是先复制还是 php 没有这种优化?
这似乎是一个简单的优化,可以帮助很多写得不好的代码。