PHP добавить ведущие нули к числу или к дате

Добавить ведущие нули к числу или к дате довольно частовстречаемая задача.

Ведущие нули для чисел

Тут все просто, есть замечательная функция str_pad(), и одной из областей ее применения является подстановка ведущих нулей к числу.

1
2
3
4
5
<?php
$number = '1';
echo str_pad($number, 5, '0', STR_PAD_LEFT);
// "00001"
?>

Все просто, но если что непонятно, то можете почитать документацию по ссылке вверху.

Ведущие нули для дат

Если Вы, как и все здоровые люди храните даты в форматы unix, то проблемы нет, при извлечении даты из формата UNIX, нужно просто указывать правильные модификаторы, чтобы дата извлекалась с ведущими нулями, если же вдруг дату приходится получать другим способом, то воспользоваться можно способом выше, но чуть изменить функцию под сложившиеся условия:

1
2
3
4
5
<?php
$number = '1';
echo str_pad($number, 2, '0', STR_PAD_LEFT);
// "01"
?>

В таком случае, нам вернется то, что нужно.

Комментарии:


  1. Роман

    Спасибо, очень помогла Ваша статья.

  2. Yurgen

    Спасибо

  3. Сергей

    Спасибо большое! Долго бился с этим, все пытался числа в строки переводить, и потом обратно, не получалось, а тут оказывается просто все)

  4. Илья

    А я всегда в датах делал

    for($i=1; $i<32,$i++)
    {
    if($i < 10) { $i = '0'.$i; }
    }

    Придумал за 20 секунд года з назад, до сих под не задумывался о лучшем 🙂 Автору спс!

  5. Johnebyne

    Hi

  6. Илья

    «Если Вы, как и все здоровые люди храните даты в форматы unix» — здоровые люди хранят дату в БД как дату, для этого и есть спец тип MySQL date. Хотя, конечно, в некоторых случаях можно и как timestamp. А за пример спасибо — он выдается первым при поиске в Гугле по «ведущие нули php».

  7. Евгений

    Илья, тебе в статье попытались объяснить уже, ненавязчиво попытались. Нормальные люди хранят даты в таймштампе, а те кто особо мозг не включает, использует поле date и другие.

  8. Kolass

    Оригинальное решение. А как записать в БД значение с нулями впереди? У меня нули обрезает.




YouTube бесплатно навести проклятие порчу