0

据我所知, foreach构造不是对数组本身进行操作,而是对它的副本进行操作。

您可以使用以下构造来避免数组的复制:

reset($array);
while (list($key, $value) = each($array)) {
  echo "$key is $value<br>\n";
}

问题是当我创建固定数组时:

$fixedArrayObj = new SplFixedArray(5);

然后用foreach构造对其进行迭代——它是否会创建数组的副本,我仍然应该坚持使用“while/each”方法来避免它?

4

0 回答 0