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