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 整除,最后一块自动包含剩余元素:
立即学习“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); } 避免手动写循环切分,代码更简洁清晰
基本上就这些。用对参数,它就能干净利落地帮你把数组“切”成想要的样子。
以上就是PHP中array_chunk() 函数如何分割数组的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1340591.html
微信扫一扫
支付宝扫一扫