Как сделать цикл от 0001 до 239000

Есть номера бланков от ЕН0001 До ЕН259899. Как реализовать цикл так, чтобы в 0001 нули не исчезали? Там может быть от 4 до 5 нулей.


Ответы (2 шт):

Автор решения: Алексей Шиманский

Чтобы дополнить строку нуля в начале - можно использовать str_pad.

Например:

echo str_pad(1, 10, '0', STR_PAD_LEFT);  // 0000000001

дополнит строку 10-ю нулями перед цифрой 1


Зная это, можно организовывать просто цикл от 1, дополняя нулями впереди по необходимому количеству


для JS есть аналог:

https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/String/padStart

→ Ссылка
Автор решения: De.Minov

Как уже сказал @teran, цикл вам не поможет, нужно форматировать вывод значения.


Относительно

Есть встроенная функция .padStart() | поддержка.

console.log('1'.padStart(4, 0));
console.log('14'.padStart(4, 0));
console.log('321'.padStart(4, 0));
console.log('1232'.padStart(4, 0));


Ну или самопал:

function func(num, len) {
  return num >= 10**len ? num : (10**len + num+'').substr(1);
}

console.log(func(1, 4));
console.log(func(14, 4));
console.log(func(321, 4));
console.log(func(1232, 4));

В первый параметр передаётся число которое нужно форматировать, во второй длину строчки, например func(1, 2) - 01, func(134, 5) - 00134 и т.п.

→ Ссылка