Не забывайте, что номера, начинающиеся с 0 также можно рассматривать как восьмеричное число обозначений на PHP компилятор, поэтому, если вы хотите работать с десятичными числами, просто используйте:
$num = '010';
Таким образом, номер сохраняется, может храниться в базе данных и обрабатываться как любое другое число. (. Thx к тому, что PHP очень слабо типизированного языка)
Другой метод использования будет:
Сохранить номер в $num = 10;
Позже во время печати значение, которое вы можете использовать sprintf, как :
sprintf("%03d", $i);
Это напечатает ваш номер в трехзначном формате, поэтому 0 будет добавлен автоматически.
Другой метод:
<?php
$num = 10;
$zerofill = 3;
echo str_pad($num, $zerofill, "0", STR_PAD_LEFT);
/* Returns the wanted result of '010' */
?>
Вы можете посмотреть на различные варианты, доступные для Вас и принять решение. Каждый из приведенных выше методов даст вам правильный результат.
и каков результат в 'echo'? это '8' – zzlalani
@Martin Alderlöf Вы даже пытаетесь откликнуться на $ number, чтобы посмотреть, что он будет отображать? Он не отобразил бы 10, он отобразил бы 8! Это потому, что число, начинающееся с 0, считается восьмеричным. – Uours