Yaptığım şey, döngüden önce ilk öğeyi kaldırmak. Gerekirse yeni bir dizi oluşturun. Bir yorumda neden bunu yaptığınızı açıklayın. Ve sonra basit bir foreach yapın.
$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
}
Bu şekilde niyetiniz çok açık.
Daha fazla açıklığa kavuşturmak için, kodu işleri daha net hale getirmek için uygun bir adla bir yönteme sarabilirsiniz.
function doStuffToAllButTheFirst($array) { // this copies the original array, so there are no sideffects
array_shift($array);
foreach($array => $element) { // do stuff }
}
Ancak bunların hepsinin bağlamı hala eksik. Elementlerle ne yapmak istersiniz? Yeni diziyi iade edecek misiniz? Sizden sonraki orijinal ve yeni diziyi önemsiyor musunuz doStuff()?
Her neyse, burada net bir cevap yok ve kodun nasıl okunabilir olacağına karar vermek büyük ölçüde bağlama bağlı.
$i=2-1de, üstün yoldur. : /