array_chunk()用于将数组按指定大小分割成多个子数组,返回二维数组;支持保留原键名、处理非整除情况,并常用于分页、批量处理等场景。

array_chunk() 是 PHP 中用来把一个数组按指定大小“切块”的函数,返回由多个子数组组成的新二维数组。
基本用法:按固定数量分组
最常见用法是把一维数组每 n 个元素分成一组:
- 语法:
array_chunk($array, $size, $preserve_keys = false) -
$array是要处理的原数组 -
$size是每个子数组最多包含的元素个数(必须大于 0) -
$preserve_keys默认为false,即重置键名(从 0 开始编号);设为true可保留原数组的键名
保留原始键名的分组
当需要维持原数组的关联关系时,开启 $preserve_keys = true:
- 例如:
array_chunk(['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4], 2, true) - 结果是:
[ ['a' => 1, 'b' => 2], ['c' => 3, 'd' => 4] ] - 注意:即使保留键名,外层数组的索引仍是数字(0、1…),只有内层子数组的键被保留
处理不能整除的情况
如果原数组长度不能被 $size 整除,最后一块自动包含剩余元素:
动态WEB网站中的PHP和MySQL详细反映实际程序的需求,仔细地探讨外部数据的验证(例如信用卡卡号的格式)、用户登录以及如何使用模板建立网页的标准外观。动态WEB网站中的PHP和MySQL的内容不仅仅是这些。书中还提到如何串联JavaScript与PHP让用户操作时更快、更方便。还有正确处理用户输入错误的方法,让网站看起来更专业。另外还引入大量来自PEAR外挂函数库的强大功能,对常用的、强大的包
立即学习“PHP免费学习笔记(深入)”;
- 例如:
array_chunk([1,2,3,4,5], 2)→[[1,2], [3,4], [5]] - 不会报错或丢弃,也不会补空值,行为安全可靠
- 若
$size大于原数组长度,结果就是整个数组包在一层里:[[1,2,3]]
常见配合使用场景
这个函数常用于分页展示、表格行分组、批量处理等:
- 生成 HTML 表格每行显示 3 个商品:
foreach (array_chunk($products, 3) as $row) { ... } - 向 API 批量提交数据,每次最多传 10 条:
foreach (array_chunk($data, 10) as $batch) { send_batch($batch); } - 避免手动写循环切分,代码更简洁清晰
基本上就这些。用对参数,它就能干净利落地帮你把数组“切”成想要的样子。










