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

如何将奇数长度PHP数组均等分块并使大块置于末尾?

要实现你要的分块效果,有两种可行的方法:

方法一:手动切片(适合固定长度数组)

直接用array_slice截取对应长度的元素,简单直接:

$languages = ['php', 'mysql', 'java', 'nodejs', 'ruby', 'go', 'c#'];
$chunks = [
    array_slice($languages, 0, 2), // 取前2个元素
    array_slice($languages, 2, 2), // 取第3到第4个元素
    array_slice($languages, 4)     // 取剩下的所有元素
];
print_r($chunks);

方法二:通用处理(适配任意长度数组)

如果需要适配不同长度的数组,可以先通过array_chunk拆分,再检查最后一块的大小——如果它的长度小于设定的分块大小,就把最后两块合并成一块放到末尾:

$languages = ['php', 'mysql', 'java', 'nodejs', 'ruby', 'go', 'c#'];
$chunkSize = 2;
$chunks = array_chunk($languages, $chunkSize);

// 合并最后两块(当最后一块长度不足时)
if (count(end($chunks)) < $chunkSize) {
    $lastTwo = array_splice($chunks, -2);
    $chunks[] = array_merge(...$lastTwo);
}

print_r($chunks);

这样不管数组是7个、5个还是其他奇数长度,都能得到前几块大小一致、最后一块元素更多的分块结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 22:40:31