PHP把数组按指定的个数分隔
假设数组为array(‘1’,‘2’,‘3’,‘4’,‘5’,‘6’); 想把它分割成四个,那么结果为
array(
‘0’ => [‘1’,‘2’],
‘1’ => [‘3’,‘4’],
‘2’ => [‘5’],
‘3’ => [‘6’],
);
/** * * 把数组按指定的个数分隔 * @param array $array 要分割的数组 * @param int $groupNum 分的组数 */ function splitArray($array, $groupNum){ if(empty($array)) return array(); //数组的总长度 $allLength = count($array); //个数 $groupNum = intval($groupNum); //取余 $yu = (int)($allLength%$groupNum); //取整 $zheng = (int)(($allLength-$yu)/$groupNum); //结果集 $result = array(); //算出小数组可以有几个元素 $s = array(); if($yu > 0){ for ($i=0; $i <$groupNum; $i++) { $s[$i] = $zheng; if($yu>=1){ $s[$i] = $s[$i]+1; } $yu = $yu-1; } }else{ return array_chunk($array, $zheng); } foreach ($s as $k => $v) { for ($i=0; $i < $v; $i++) { $result[$k][] = array_shift($array); } } return $result; }
参考:https://www.cnblogs.com/bluealine/p/11666636.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了