2012-11-07 222 views
-2

我需要一些幫助瓦特/範圍功能:PHP範圍功能

代碼:range(1,4)

輸出:

Array 
(
    [0] => 1 
    [1] => 2 
    [2] => 3 
    [3] => 4 
) 

我怎樣才能得到一個輸出,如:

Array 
(
    [01] => 01 
    [02] => 02 
    [03] => 03 
    [04] => 04 
) 
+3

整數沒有前導零。您只應在演示時添加零。 –

+0

對於價值觀,我明白,但它在密鑰中有什麼不同? – itachi

+0

在使用完成日期的FORM SELECT(1-31),並且作爲MySQL存儲數據爲2000-01-01時,我只能比較它的01是否爲1。 –

回答

1

對於值,你可以用來代替。

<?php 
$a = array_map(function($n) { return sprintf('%02d', $n); }, range(1, 4)); 
print_r($a); 
?> 

在老版本PHP,你可能需要這樣:

<?php 
function f($n) { return sprintf('%02d', $n); } 
$a = array_map(f, range(1, 4)); 
print_r($a); 
?> 

輸出: 陣列

(
    [0] => 01 
    [1] => 02 
    [2] => 03 
    [3] => 04 
) 
an example使用 array_map來幫助你,也與 sprintf墊零是

演示:http://codepad.org/Ovx1VQDM

但是數組鍵只能用於你的代碼,儘管你可以使用字符串作爲鍵,但最好還是使用整數。

+0

我想要一個輸出:array {[01] = > 01,[02] => 02 ...} –

0
$array = array() 
foreach (range(1, 4) as $value) { 
    $array[str_pad($value, 1, 0, STR_PAD_LEFT)] = str_pad($value, 2, 0, STR_PAD_LEFT); 
}