RE:numero exacto de digitos
Lo que tienes que hacer es primero preguntar cuantos numeros tiene tu valor numerico
Luego con esto agregar a tu valor numerico la diferencia que existe entre 12 caracteres menos los caracteres de tu valor numerico:
Mas o menos asi
----------------------------------------------------------------------------------------------------------------------------------------------------------------
<?php
$valorNumerico = '123';
$tamanioQueQuiero = 12;
$caracterRelleno = '0';
$tamanioValorNumerico = strlen($valorNumerico);
echo "$valorNumerico" . ' <- Es el valor inicial, con ' . $tamanioValorNumerico , ' caracteres </br></br>';
for($i=$tamanioValorNumerico;$i<$tamanioQueQuiero;$i++){
$valorNumerico = $caracterRelleno . $valorNumerico;
}
echo $valorNumerico . ' <- El valor final con, ' . strlen($valorNumerico) , ' caracteres';
?>
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
Espero te sirva.............