array_pad 是 php 中用于在数组开头或末尾填充指定值直至达到目标长度的函数,不修改原数组,返回新数组;参数包括原数组、目标长度(正数补尾、负数补头)和填充值,适用于表格对齐、序列补零等场景。

array_pad 是 PHP 中一个简单但很实用的数组扩展函数,主要用于在数组开头或末尾填充指定值,直到数组达到目标长度。它不修改原数组,而是返回一个新数组,适合需要“补位”或“对齐”场景,比如格式化输出、接口数据标准化、表格渲染前的数据预处理等。
基本用法与参数含义
语法:array_pad(array $array, int $size, mixed $value): array
- $array:待处理的原始数组(可为空)
- $size:期望的最终长度。若为正数,在数组末尾填充;若为负数,在开头填充(绝对值仍表示总长度)
- $value:用于填充的值,可以是任意类型(数字、字符串、null、甚至数组)
常见使用场景举例
补齐固定列数的表格数据:前端渲染表格时,每行需严格 4 列,但后端返回的数据可能只有 2 或 3 个字段。
$row = ['苹果', '5元']; $padded = array_pad($row, 4, '—'); // ['苹果', '5元', '—', '—']
统一时间序列长度:绘图或统计时,某天无数据需补 0,保证横轴日期与纵轴数值一一对应。
云点滴客户解决方案是针对中小企业量身制定的具有简单易用、功能强大、永久免费使用、终身升级维护的智能化客户解决方案。依托功能强大、安全稳定的阿里云平 台,性价比高、扩展性好、安全性高、稳定性好。高内聚低耦合的模块化设计,使得每个模块最大限度的满足需求,相关模块的组合能满足用户的一系列要求。简单 易用的云备份使得用户随时随地简单、安全、可靠的备份客户信息。功能强大的报表统计使得用户大数据分析变的简单,
立即学习“PHP免费学习笔记(深入)”;
$data = [12, 30, 25]; $full_week = array_pad($data, 7, 0); // [12,30,25,0,0,0,0]
安全地取前 N 项并补默认值:避免因数组太短导致 foreach 报错或逻辑断裂。
$top3 = array_pad(array_slice($scores, 0, 3), 3, 0); // 即使 $scores 只有 1 个元素,$top3 也一定是含 3 个值的数组
需要注意的细节
- 如果 $size 小于等于原数组长度,array_pad 返回原数组副本,不作任何填充(不会截断)
- 填充只发生在“不足”的方向:正数补尾、负数补头,不会双向同时填充
- 填充的是 值的副本,对引用类型(如对象)会调用 __clone(如果定义了),但普通数组中嵌套的数组不会被深拷贝
- 若想实现“固定长度+自动截断”,需配合 array_slice 使用,array_pad 本身不具备截断能力
和 array_fill 的区别
array_fill 是从零开始创建指定长度的全新数组(全填同一值);而 array_pad 是基于已有数组做“延伸”,保留原有内容,只补缺额。两者目的不同:一个是“构造”,一个是“对齐”。










