Originariamente inviato da pishta
si è php ma io lo intendo come un problema di programmazione generale
Generalmente parlando, la forma standard del ciclo for è questa:
codice:
for(inizializzazione; condizione_di_iterazione; espressione_di_incremento) {
codice
}
Quindi, "codice" verrà eseguito finchè "condizione_di_iterazione" sarà vera e ad ogni cilco verrà eseguita l'"espressione_di_incremento".
Dal codice che hai postato tu, dovrebbe già accadere ciò che richiedi, posto che l'incremento dalla penultima iterazione all'ultima, non faccia già decadere la condizione di iterazione.
Esempio:
codice:
for($i=0; $i<=10; $i++) {
}
Questo codice eseguirà 11 iterazioni: a partire da $i=0 fino a $i=10. Quando $i varrà 11, il ciclo non verrà eseguito.
Diversamente, questo:
codice:
for($i=0; $i<=10; $i+=3) {
}
Che eseguirà solo 4 cicli:
$i = 0
$i = 3
$i = 6
$i = 9
All'ultimo passaggio, $i varrà 12, quindi non verrà eseguito.
Se ciò che chiedi è di poter eseguire anche l'ultimo passaggio ($i = 10), allora no. Non è possibile con alcun linguaggio di programmazione che abbia un costrutto for standard (altrimenti addio coerenza).
Quello che puoi fare è un test, dopo il ciclo, per verificare lo stato della variabile $i e, se ritenuto corretto, effettuare altre operazioni.
Sposto, comunque, nel forum PHP perchè, non conoscendo approfonditamente tale linguaggio, magari esiste qualcosa di più (dubito, ma non si sa mai).
Ciao.