Necesito lanzar figuras individuales (1 a 9) a (01 a 09). Puedo pensar en una forma, pero es grande, fea y engorrosa. Estoy seguro de que debe haber alguna forma concisa. Alguna sugerencia
126
En primer lugar, su descripción es engañosa. Double
es un tipo de datos de coma flotante. Es de suponer que desea rellenar sus dígitos con ceros a la izquierda en una cadena. El siguiente código hace eso:
$s = sprintf('%02d', $digit);
Para obtener más información, consulte la documentación de sprintf
.
digit
valor como entero esa vez dado el error, si paso como cadena esa vez no hay problemasprintf
. Consulta el formato de los enteros , en particular la sección sobre dígitos octales.También hay str_pad
fuente
Solución usando str_pad :
Benchmark en php 5.3
Código:
fuente
El rendimiento de
str_pad
depende en gran medida de la longitud del acolchado. Para una velocidad más constante, puede usar str_repeat .También use el valor de cadena del número para un mejor rendimiento.
Probado en PHP 7.4
fuente