You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用str_pad()生成带前导零的数字数组?

用str_pad()生成带前导零的数字数组

要生成类似000, 001, 002...这类带前导零的数组,核心思路是先创建数字范围的数组,再批量用str_pad补全格式,以下是具体实现:

1. 生成000到090的数组

先通过range()生成0到90的数字序列,再用array_map()结合str_pad()给每个数字补前导零,确保是3位格式:

// 定义起始和结束数字
$start = 0;
$end = 90;

// 生成原始数字范围数组
$numberArray = range($start, $end);

// 批量补前导零
$paddedArray = array_map(function($num) {
    // str_pad参数:目标数字、总长度、补位字符、补位方向
    return str_pad($num, 3, '0', STR_PAD_LEFT);
}, $numberArray);

// 输出结果示例:Array ( [0] => 000 [1] => 001 ... [90] => 090 )
print_r($paddedArray);

2. 生成100到200的数组

逻辑完全一致,因为100本身已是3位数字,str_pad()不会对它做额外修改,最终得到的就是100到200的字符串数组:

$start = 100;
$end = 200;

$numberArray = range($start, $end);
$paddedArray = array_map(function($num) {
    return str_pad($num, 3, '0', STR_PAD_LEFT);
}, $numberArray);

// 输出结果示例:Array ( [0] => 100 [1] => 101 ... [100] => 200 )
print_r($paddedArray);

关于起始值为000的说明

直接将range()的起始值设为0即可,str_pad(0, 3, '0', STR_PAD_LEFT)会自动输出000,完全符合你的要求。

如果想用循环实现(适合需要自定义步长的场景),也可以这么写:

$paddedArray = [];
for ($i = 0; $i <= 90; $i++) {
    $paddedArray[] = str_pad($i, 3, '0', STR_PAD_LEFT);
}

内容的提问来源于stack exchange,提问作者bre

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 23:11:00