如果你想要只有2位数的数字(01,02 ... 10,11),如何使用range()?

Mil*_* M. 3 php arrays range

我有一系列这样的数字

$arr = range(01,10);
Run Code Online (Sandbox Code Playgroud)

但我希望输出

Array ( [0] => 01 [1] => 02 [2] => 03 ... [9] => 10)
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做?

Ja͢*_*͢ck 11

你可能需要array_map():

array_map(function($item) {
    return str_pad($item, 2, '0', STR_PAD_LEFT); 
}, $arr);
Run Code Online (Sandbox Code Playgroud)

演示

或者,您也可以使用sprintf():

return sprintf('%02d', $item);
Run Code Online (Sandbox Code Playgroud)

如果阵列很大,您可能希望就地进行更换; 感谢Waygood的建议:

array_walk($arr, function(&$item) {
    $item = str_pad($item, 2, '0', STR_PAD_LEFT); 
});
Run Code Online (Sandbox Code Playgroud)