据我所知, foreach 构造不对数组本身进行操作,而是对其副本进行操作。
您可以使用以下构造来避免复制数组:
reset($array);
while (list($key, $value) = each($array)) {
echo "$key is $value<br>\n";
}
问题是当我用:
创建固定数组时$fixedArrayObj = new SplFixedArray(5);
然后使用 foreach 构造进行迭代 - 是否会创建数组的副本,我仍然应该坚持使用'while / each'方法来避免它?