Мне нужно отлить отдельные фигуры (от 1 до 9) до (от 01 до 09). Я могу придумать способ, но он большой, уродливый и громоздкий. Я уверен, что должен быть какой-то лаконичный способ. Какие-либо предложения
126
Во-первых, ваше описание вводит в заблуждение. Double
это тип данных с плавающей запятой. Предположительно, вы хотите дополнить свои цифры ведущими нулями в строке. Следующий код делает это:
$s = sprintf('%02d', $digit);
Для получения дополнительной информации обратитесь к документации sprintf
.
digit
значение как целое число в тот раз с ошибкой, Если передал как строку в этот раз, не проблемаsprintf
. Проверьте формат целых чисел , в частности раздел о восьмеричных цифрах.Также есть str_pad
источник
Решение с использованием str_pad :
Тест на php 5.3
Код:
источник
Производительность
str_pad
сильно зависит от длины набивки. Для более стабильной скорости вы можете использовать str_repeat .Также используйте строковое значение числа для повышения производительности.
Протестировано на PHP 7.4
источник