2013-03-05 89 views
3

例如,我有這樣的格式: $s_number = "12";而對於該輸入,我需要0012作爲輸出:PHP數字格式4個位數

又如:

輸入$s_number = "3"; 輸出:0003

每次我需要4位數字時,我都希望發生這種情況。

+1

'printf'已經可以做到這一點很容易做到這一點:'的printf( 「%04D」 $號)'。如果你想要一個字符串的結果,還有'sprintf'。 – Jon 2013-03-05 21:23:50

+0

你有什麼嘗試?你有沒有嘗試使用類似sprintf的東西(http://www.php.net/manual/en/function.sprintf.php),或者只是根據字符串的長度來添加文本? – Mike 2013-03-05 21:23:50

回答

7

使用str_pad()爲:

echo str_pad($number, 4, '0', STR_PAD_LEFT); 
+1

謝謝,我也有這個 成功$ p = substr(sprintf('%04d',$ digit),0,4); – Martelo2302 2013-03-05 21:29:14

+0

請注意,str_pad是**多**速度更快;) – hek2mgl 2013-03-05 21:30:08

+1

謝謝str_pad – 2017-10-31 11:20:47

11

這不會是一個數(但字符串),但你可以做到這一點使用str_pad。在你的例子:

$s_number = str_pad("12", 4, "0", STR_PAD_LEFT); 
$s_number = str_pad("3", 4, "0", STR_PAD_LEFT); 
1

您可以通過使用PHPS' printf

<?php 
$s_number = '12'; 
printf("%04d", $s_number); 
?> 

希望這有助於

+0

啊謝謝。完全忘了他們printf也打印出來(愚蠢的我cus它也是這個函數的名字) – Mic1780 2013-03-05 21:29:02