Lo que haría es eliminar el primer elemento antes de repetir. Cree una nueva matriz si es necesario. Explica en un comentario por qué lo estás haciendo. Y luego haz un simple 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
}
De esta manera tu intención es perfectamente clara.
Para aclarar más, podría envolver el código en un método con un nombre apropiado para aclarar las cosas.
function doStuffToAllButTheFirst($array) { // this copies the original array, so there are no sideffects
array_shift($array);
foreach($array => $element) { // do stuff }
}
Sin embargo, a todo esto todavía le falta contexto. ¿Qué quieres hacer con los elementos? ¿Volverá la nueva matriz? ¿Te importa el original y el nuevo conjunto después de ti doStuff()
?
De todos modos, no hay una respuesta clara aquí, y decidir cómo hacer que el código sea legible depende en gran medida del contexto.
$i=2-1
es el camino superior. : /