Il numero di cifre deve essere fisso? Ad esempio 001, 023, 108...?

In tal caso

$numero = 1;
printf("%03d", $numero); //stampa 001

Praticamente aggiunge tanti 0 all'inizio quanti ne servono per fare un numero di 3 cifre.