Это потому, что все номера, начинающиеся с 0 считаются восьмеричными значениями, которая имеет верхний предел 8 цифр в положение (0-7). Как stated in the PHP manual, вместо того, чтобы молча отбрасывать неверные цифры, они теперь (7.x) вызывают указанное выше предупреждение.
Почему вы пишете свои номера, как это? Если ведущие нули значительны, то это не номер, который у вас есть, а строка. Если вам нужно делать вычисления на них, как если бы они были числами, тогда вам нужно добавить начальные нули при выводе значений клиенту.
Это может быть сделано с printf()
или sprintf()
, как это:
$number = 5;
printf ("%05$1d", $number);
Пожалуйста see the manual for more examples.
Я попробовал его на [PHPFiddle] (HTTP : //phpfiddle.org/), и он работал нормально ... –
@ d.coder Попробуйте в PHP7 и посмотрите, что произойдет ... ;-) – Qirel
да, это показывает ошибку в PHP 7, но не в PHP 5 –