Allora, intanto non avevo visto il continue, quindi non mi ero accorto che il divisore giustamente non veniva incrementato in caso di quoziente intero. Mi rimangio quello che ho detto per le potenze superiori...

Riguardo a rimoltiplicare per il divisore al fine di riottenere il numero intatto dubito che la cosa funzioni, per via della rappresentazione dei numeri all'interno del calcolatore. Ma non conosco l'implementazione di PHP e non so se è un aspetto critico... so solo che fare in sequenza una divisione e poi l'inverso per ottenere il risultato di partenza è una cosa su cui non si dovrebbe fare affidamento.
Prova a conservare una copia del valore da ripristinare, così capiamo se è effettivamente questo il problema.