PHP把数组按指定的个数分隔

假设数组为array(‘1’,‘2’,‘3’,‘4’,‘5’,‘6’); 想把它分割成四个,那么结果为
array(
‘0’ => [‘1’,‘2’],
‘1’ => [‘3’,‘4’],
‘2’ => [‘5’],
‘3’ => [‘6’],
);
https://blog.csdn.net/justflyhigh/article/details/7708145
部分内容借鉴以上文章,实现的结果不一样,如果我的函数功能不是你想要的,可以去以上文章看一下。

/**
*
* 把数组按指定的个数分隔
* @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 > ){
for ($i=; $i <$groupNum; $i++) {
$s[$i] = $zheng;
if($yu>=){
$s[$i] = $s[$i]+;
}
$yu = $yu-;
}
}else{
return array_chunk($array, $zheng);
}
foreach ($s as $k => $v) {
for ($i=; $i < $v; $i++) {
$result[$k][] = array_shift($array);
}
}
return $result;
}

最新文章

  1. 原生Ajax封装随笔
  2. SQL Server系统表sysobjects介绍与使用(转))
  3. IIS7.5
  4. Extjs TabPanel 选项卡延迟加载
  5. [python] 线程池
  6. ARM状态和THUMB状态
  7. 启动tomcat不出现命令窗口
  8. 转载Mongondb
  9. openSUSE13.2安装ruby和rails
  10. mac下firefox复制粘贴失效解决办法
  11. 批量执行sql语句
  12. 手把手教你Windows下Go语言的环境搭建
  13. thinkphp框架使用心得
  14. Surrounded Regions——LeetCode
  15. angularjs路由path方式实现原理探究
  16. Ubuntu 14.04循环登录问题(密码正确,无法登录)
  17. 把已经安装到C盘的软件完美移动到D盘
  18. Oracle 创建表并设置主键自增
  19. spring-boot 1.X集成swagger
  20. sys安装

热门文章

  1. selenium3关于ddt驱动之读取json文件。。。
  2. OpenCV.20190628
  3. 《你必须知道的495个C语言问题》读书笔记之第15-20章:浮点数、风格、杂项
  4. 删除重复信息且要保留一条的(roacle的rowid另类用法)
  5. 什么是阿里云CDN
  6. 剑指offer26:将二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。
  7. Python中的幽灵—编码方式
  8. 6.Linux查看哪个进程占用磁盘IO
  9. 【数学】Eddy Walker
  10. springboot由于bean加载顺序导致的问题