2013-10-14 1 views
3

Привет мне нужно, чтобы сохранить 010 номер в $ количество, и если я делаю как этот PHP удалит исходный 0Используйте номера, начинающиеся с 0 в переменной в PHP

$number = 010 

И эхо этого возвратит 10 как я могу сделать это, чтобы не удалить первоначальный 0

BR Martin

+0

и каков результат в 'echo'? это '8' – zzlalani

+0

@Martin Alderlöf Вы даже пытаетесь откликнуться на $ number, чтобы посмотреть, что он будет отображать? Он не отобразил бы 10, он отобразил бы 8! Это потому, что число, начинающееся с 0, считается восьмеричным. – Uours

ответ

3

Не забывайте, что номера, начинающиеся с 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' */ 
?> 

Вы можете посмотреть на различные варианты, доступные для Вас и принять решение. Каждый из приведенных выше методов даст вам правильный результат.

Смежные вопросы