-2

我需要一些带范围功能的帮助:

代码:range(1,4)

输出:

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

我怎样才能得到这样的输出:

Array
(
    [01] => 01
    [02] => 02
    [03] => 03
    [04] => 04
)
4

2 回答 2

1

对于这些值,您可以改用字符串。有一个示例可以array_map帮助您,也sprintf可以填充零:

<?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
)

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

但是数组键仅用于您的代码,即使您可以使用字符串作为键,最好还是使用整数。

于 2012-11-07T03:44:50.107 回答
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);
}
于 2012-11-07T04:19:23.053 回答