我要做的是在循环之前删除第一个元素。如果需要,请创建一个新数组。在评论中解释您为什么这样做。然后做一个简单的foreach。
$arrayCopy = $array; // in case you don't want to touch the original array
array_shift($arrayCopy); // removing first element because of X reason.
foreach($arrayCopy => $element) {
// do stuff
}
这样,您的意图就很清楚了。
为了进一步说明,您可以将代码包装在具有适当名称的方法中,以使事情更清楚。
function doStuffToAllButTheFirst($array) { // this copies the original array, so there are no sideffects
array_shift($array);
foreach($array => $element) { // do stuff }
}
但是,所有这些仍然缺少上下文。您想对这些元素做什么?您将要返回新数组吗?您之后是否关心原始阵列和新阵列doStuff()
?
无论如何,这里没有明确的答案,而如何使代码可读则在很大程度上取决于上下文。
$i=2-1
是更好的方法。:/