可能重複:
Formatting a number with leading zeros in PHPPHP生成隨機的00號 - 29
我00之間的值 - 即需要用PHP來隨機選擇29。 我試着用rand()函數,但是它給了我0-29。不是00,01,02,03等等。
如何從PHP中隨機取得00-09而不是0-9?謝謝。
可能重複:
Formatting a number with leading zeros in PHPPHP生成隨機的00號 - 29
我00之間的值 - 即需要用PHP來隨機選擇29。 我試着用rand()函數,但是它給了我0-29。不是00,01,02,03等等。
如何從PHP中隨機取得00-09而不是0-9?謝謝。
$random = sprintf("%02f", rand(0,29));
,或者如在評論中提到:
$random = str_pad(rand(0,29), 2, "0", STR_PAD_LEFT);
a)將一個 「0」,如果值IST低於10
b)利用number_format處理輸出
創建一個類似於
$array = array('00','01','02','03'....,'29');
echo $array[array_rand($array)];
+1用於提供替代方案。雖然相當*醜*解決方案:) – 2012-08-08 13:48:09
@JasonMcCreary我同意。這是一個醜陋的解決方案。 – 2012-08-08 13:51:57
是的,它會工作,但只是不這樣做:) – 2016-04-01 10:18:42
您可以使用sprintf格式化數字。
$number = rand(0,29);
$number = sprintf("%02d", $number);
搜索sprintf的PHP手冊
使用str_pad:
$random = str_pad(rand(0, 29), 2, '0', STR_PAD_LEFT);
+1''str_pad()'。 – 2012-08-08 13:48:26
您也可以採用此方法,不依賴於附加功能:
$n = rand(0, 29);
if($n < 10) $n = "0" . $n;
是的這項工作。但是,當本地函數存在時很愚蠢。爲什麼在他們身邊編碼[成爲一名更好的PHP開發人員](http://jason.pureconcepts.net/2012/08/better-php-developer/)。 – 2012-08-08 13:51:13
我會做那sprintf而不是spintf;) – snaderss 2012-08-08 13:45:35
+1擊敗我。 'str_pad()'也是一個不錯的選擇。在這種情況下,比'* printf()'技術要少一些。 – 2012-08-08 13:45:47
它給我:0.00,1.00,2.00 ...不是00,01,02 ...這裏有什麼缺失嗎? – 2012-08-08 13:48:22