你能看一下这个演示,让我知道我如何插入两位数格式(即使数字小于10)像01, 02, 03,..., 09
到数组$days
$days = [];
for ($i = 1; $i <= 30; $i++) {
array_push($days, $i);
}
echo '<pre>';
print_r ($days);
echo '</pre>';
输出看起来像
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
[6] => 7
[7] => 8
[8] => 9
[9] => 10
[10] => 11
[11] => 12
[12] => 13
[13] => 14
[14] => 15
[15] => 16
[16] => 17
[17] => 18
[18] => 19
[19] => 20
[20] => 21
[21] => 22
[22] => 23
[23] => 24
[24] => 25
[25] => 26
[26] => 27
[27] => 28
[28] => 29
[29] => 30
)
但是我需要像
Array
(
[0] => 01
[1] => 02
[2] => 03
[3] => 04
[4] => 05
[5] => 06
[6] => 07
[7] => 08
[8] => 09
[9] => 10
[10] => 11
[11] => 12
[12] => 13
[13] => 14
[14] => 15
[15] => 16
[16] => 17
[17] => 18
[18] => 19
[19] => 20
[20] => 21
[21] => 22
[22] => 23
[23] => 24
[24] => 25
[25] => 26
[26] => 27
[27] => 28
[28] => 29
[29] => 30
)
您的代码将大致如下
function zero_prefix($num)
{
if($num <= 9)
{
return '0'.$num;
}
return $num;
}
$days = [];
for ($i = 1; $i <= 30; $i++) {
$proper_format_number = zero_prefix($i);
array_push($days, $proper_format_number );
}
echo '<pre>';
print_r ($days);
echo '</pre>';
结果在您想要的数组
您可以使用sprintf
将其格式化为固定宽度字符串。%0
指定符用于填充(默认的填充符是space),因此我们添加另一个0
作为填充字符,并指定2
的最小宽度。因此,对于小于10的数字,sprintf("%002s", $i)
给出01
- 09
( s
是字符串格式说明符)。
$days = [];
for ($i = 1; $i <= 30; $i++) {
$days[] = sprintf("%002s", $i);
}
var_dump($days);
这给你。
<>之前数组(30){[0] =>字符串(2)"01"[1] =>字符串(2)"2"[2] =>字符串(2)"03"[3] =>字符串(2)"04"[4] =>字符串(2)"05"[5] =>字符串(2)"06"[6] =>字符串(2)"7"[7] =>字符串(2)"08"[8] =>字符串(2)"09"[9] =>字符串(2)"10"[10] =>字符串(2)"十一"[11] =>字符串(2)"12"[12] =>字符串(2)"13"[13] =>字符串(2)"14"[14] =>字符串(2)"15"[15] =>字符串(2)"16"[16] =>字符串(2)"17"[17] =>字符串(2)"18"[18] =>字符串(2)"19"[19] =>字符串(2)"20"[20] =>字符串(2)"21"[21] =>字符串(2)"22"[22] =>字符串(2)"23"[23] =>字符串(2)"24"[24] =>字符串(2)"25"[25] =>字符串(2)"26"[26] =>字符串(2)"27岁"[27] =>字符串(2)"28"[28] =>字符串(2)"29"[29] =>字符串(2)"30"}嘿@Suffii只是创建一个条件,如果$i>10,那么只需将$i与0连接,如下所示:
<?php
$days = [];
for ($i = 1; $i <= 30; $i++) {
if($i<10){
$j=(0).($i);
array_push($days,$j);
}else{
array_push($days,$i);
}
}
echo '<pre>';
print_r ($days);
echo '</pre>';
?>
这是一个工作的例子。
使用简单的array_map和str_pad
<?php
$arr =range(1,30);
$ss = array_map(function($item) {
return str_pad($item, 2, '0', STR_PAD_LEFT);
}, $arr);
print_r($ss);
输出: Array
(
[0] => 01
[1] => 02
[2] => 03
........
)