2013-04-12 4 views
2

У меня есть целое число, которое мне нужно преобразовать в строку из 4 цифр. Я знаю, что целое число находится между 1 и 9999. Если число равно 4, я хочу, чтобы строка вывода была «0004». Если число равно 134, мне нужен вывод строки как «0134» и так далее.Преобразование целого числа в строку символов X в PHP

Что было бы самым коротким самым элегантным способом достижения этого в PHP? Спасибо.

ответ

11

Я хотел бы использовать sprintf():

$string = sprintf("%04d", $number); 

Использование this demo:

foreach(array(4, 134) as $number) { 
    $string = sprintf("%04d", $number); 
    echo $string . "\n"; 
} 

Вы получаете в качестве вывода:

0004 
0134 
+0

Спасибо за ответ, именно то, что мне нужно! –

3

Попробуйте

$num = 1; 
$paddedNum = sprintf("%04d", $num); 
echo $paddedNum; 
+0

Благодарим вас за ответ. Ваш ответ и избранный пришли одновременно, и я должен был выбрать один из них. Я выбрал первый в моем списке. Спасибо вам большое, я вас поддержал! –

2

Попробуйте

str_pad($input, 4, "0", STR_PAD_LEFT); 

Это будет работать для целого числа и строки как

1

Вы можете использовать Sprintf с параметром% D:

$NewString = sprintf("%04d", $OldNumber); 

04 сообщает sprintf, сколько цифры вашего номера должны быть и заполняться нулями, если он не достигнет этого номера.

1
$num = rand(1,9999); 
echo sprintf("%04d", $num); 

Попробуйте это.

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