默认array_chunk会重置键名,可通过自定义函数保留键名;例如使用array_keys与array_slice结合实现分块并保持原始键名,输出结果为键名依次为a、b、c等的子数组。

在 PHP 中使用 array_chunk() 函数时,默认情况下会重置键名,即分块后的每个子数组都会从 0 开始重新索引。如果你希望保留原始数组的键名,或者实现键名延续、自定义索引控制,就需要手动处理。
看一个例子:
$original = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4]; $chunks = array_chunk($original, 2); print_r($chunks);
输出结果为:
Array
(
[0] => Array
(
[0] => 1
[1] => 2
)
[1] => Array
(
[0] => 3
[1] => 4
)
)
可以看到,原始的键名 'a', 'b' 等全部丢失,被数字索引替代。
要保留键名,不能直接用 array_chunk(),而需要自己实现分块逻辑。可以结合 foreach 和 array_slice() 来实现:
function array_chunk_with_keys($array, $size) {
$chunks = [];
$keys = array_keys($array);
for ($i = 0; $i < count($keys); $i += $size) {
$chunk = [];
$slicedKeys = array_slice($keys, $i, $size);
foreach ($slicedKeys as $key) {
$chunk[$key] = $array[$key];
}
$chunks[] = $chunk;
}
return $chunks;
}
使用示例:
$original = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5]; $chunks = array_chunk_with_keys($original, 2); print_r($chunks);
输出结果:
Picit AI
免费AI图片编辑器、滤镜与设计工具
172
查看详情
Array
(
[0] => Array
(
[a] => 1
[b] => 2
)
[1] => Array
(
[c] => 3
[d] => 4
)
[2] => Array
(
[e] => 5
)
)
这样就成功保留了原始键名。
你可以扩展函数,增加一个参数来控制是否重置索引:
function array_chunk_advanced($array, $size, $preserveKeys = true, $resetIndex = false) {
$chunks = [];
$keys = array_keys($array);
for ($i = 0; $i < count($keys); $i += $size) {
$slicedKeys = array_slice($keys, $i, $size);
$chunk = [];
foreach ($slicedKeys as $key) {
$chunk[$key] = $array[$key];
}
if (!$preserveKeys) {
$chunk = array_values($chunk);
}
if ($resetIndex) {
$chunk = array_values($chunk);
}
$chunks[] = $chunk;
}
return $chunks;
}
说明:
示例:不保留键名
$chunks = array_chunk_advanced($original, 2, false); // 输出:[[1,2], [3,4], [5]]
PHP 原生的 array_chunk() 不支持保留键名。如果需要保持键名或灵活控制索引方式,推荐使用自定义函数:
基本上就这些,按需选择实现方式即可。
以上就是php中array_chunk保留键名怎么做_php分块后键名延续与自定义索引重置技巧的详细内容,更多请关注其它相关文章!
# 键值对
# 键名
# 自定义
# 怎么做
# 键值
# 怎么看
# 滤镜
# 如果你
# 你可以
# 推荐使用
# php
# 青岛百度关键词排名
# 东莞正规的seo网站优化推广
# 技术网站推广什么价格
# 怎么做推广市场营销
# 枣庄seo推广推荐公司
# 网站优化和推广的区别
# 个人网站建设代理
# seo付费服务
# 嘉峪关网站开发建设招聘
# 德阳海外账号运营营销推广哪家好
# 适用于
相关栏目:
【
Google疑问12 】
【
Facebook疑问10 】
【
优化推广96088 】
【
技术知识133117 】
【
IDC资讯59369 】
【
网络运营7196 】
【
IT资讯61894 】
相关推荐:
c++20的指定初始化(Designated Initializers)怎么用_c++ C风格结构体初始化
荣耀Magic6 Pro拍照成像偏暗_荣耀Magic6 Pro夜景优化
哔哩哔哩的|直播|间怎么送礼物_哔哩哔哩|直播|送礼操作指南
国际经济与贸易就业方向解析
空腹吃苹果好吗 苹果空腹摄入指南
《跳跳舞蹈》循环播放方法
C++二维数组动态分配方法_C++指针与数组内存布局
PHP安全加载非公开目录图片与动态内容类型处理指南
J*aScript装饰器_元编程实战
search中maxlength属性用法解析
mysql如何配置从库只读_mysql从库只读设置方法
猫眼app抢票快还是小程序快
J*aScript大数运算_BigInt使用指南
解决CSS布局中意外顶部空白问题的教程
PHP utf8_encode 字符编码转换疑难解析与最佳实践
宝妈做视频号该写什么标签话题?宝妈关注的话题有哪些?
网页版网易云音乐入口_网易云音乐在线官网登录
百度网盘如何设置上传限额
《美篇》取消会员自动续费方法
PHP中动态类名访问的类实例类型提示与静态分析实践
百度识图图像分析 百度识图识别平台
荣耀盒子应用管理技巧
word邮件合并怎么插入个性化图片_Word邮件合并插入个性化图片方法
VS Code的时间线(Timeline)视图:您的代码时光机
Python中处理嵌套字典与列表的数据提取与过滤教程
CodeIgniter 3 连接 SQL Server:正确获取查询结果的教程
《宝可梦大集结》S4冠军之路开始时间介绍
优酷官网登录入口电脑版 优酷官网网址入口
感染了幽门螺杆菌一定会导致胃癌吗?蚂蚁庄园今日答案最新11.30
Win10共享文件夹设置方法 Win10局域网文件共享全攻略【教程】
Go App Engine 项目结构与包管理深度指南
Sublime怎么格式化HTML代码_Sublime前端代码美化插件使用指南
手机自动关机是怎么回事?如何修复?手机异常关机的原因排查与修复技巧
使用 J*aScript 随机化 CSS Grid 布局中的元素顺序
三角洲行动2025年9月10日摩斯密码分享
漫蛙app官方版手机正版入口-漫蛙漫画manwa在线漫画正版入口
《猎聘》筛选猎头岗位方法
composer licenses 命令:如何检查项目依赖的许可证?
性能与资源监视器快捷打开
mysql通配符能用于日志查询吗_mysql通配符在系统日志查询中的实际使用方法
j*a中赋值运算符是什么?
C++ optional用法详解_C++17处理可能为空的返回值
哔哩哔哩在线观看入口 B站官网免费进入
Python测试中模块导入路径解析的最佳实践
微信客户端如何找回密码_微信客户端忘记密码找回方法
c++类和对象到底是什么_c++面向对象编程基础
房产|直播|视频号怎么认证开通?|直播|需要什么资质?
C++ virtual析构函数作用_C++基类虚析构函数防止内存泄漏
《360浏览器》自动保存账号密码设置方法
mysql中如何分析索引使用情况_mysql索引使用分析方法
2025-11-27
运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。