Al final no use el for y con el foreach efectivamente me hice bolas, así que encontré una forma de hacerlo con while(), lo dejo aquí por si a alguien le llega a ser de ayuda, gracias!
Así queda lo que ocurre al presionar el botón de insertar ^^
Código PHP:
if(isset($_POST['insertar']))
{
$items1 = ($_POST['idalumno']);
$items2 = ($_POST['nombre']);
$items3 = ($_POST['carrera']);
$items4 = ($_POST['grupo']);
while(true) {
// Fetch Values
$item1 = current($items1);
$item2 = current($items2);
$item3 = current($items3);
$item4 = current($items4);
// Print Values
$id=(( $item1 !== false) ? $item1 : ", ");
$nom=(( $item2 !== false) ? $item2 : ", ");
$carr=(( $item3 !== false) ? $item3 : ", ");
$gru=(( $item4 !== false) ? $item4 : ", ");
$valores='('.$id.',"'.$nom.'","'.$carr.'","'.$gru.'"),';
echo $valores;
$valoresQ= substr($valores, 0, -1);
echo $valoresQ;
$sql = "INSERT INTO alumnos (id_alumno, nombre, carrera, grupo)
VALUES $valoresQ";
$sqlRes=$conexion->query($sql) or mysql_error();
// Up! Next Value
$item1 = next( $items1 );
$item2 = next( $items2 );
$item3 = next( $items3 );
$item4 = next( $items4 );
// Check terminator
if($item1 === false && $item2 === false && $item3 === false && $item4 === false) break;
}
}