php实现把数组按指定的个数分隔


Posted in PHP onFebruary 17, 2014
/**
 * 
 * 把数组按指定的个数分隔
 * @param array $array 要分割的数组
 * @param int $groupNum 分的组数
 */
public function splitArray($array, $groupNum){
    if(empty($array)) return array();    //数组的总长度
    $allLength = count($array);
    //个数
    $groupNum = intval($groupNum);
    //开始位置
    $start = 0;
    //分成的数组中元素的个数
    $enum = (int)($allLength/$groupNum);
    //结果集
    $result = array();
    if($enum > 0){

        //被分数组中 能整除 分成数组中元素个数 的部分
        $firstLength = $enum * $groupNum;
        $firstArray = array();
        for($i=0; $i<$firstLength; $i++){
            array_push($firstArray, $array[$i]);
            unset($array[$i]);
        }
        for($i=0; $i<$groupNum; $i++){
            //从原数组中的指定开始位置和长度 截取元素放到新的数组中
            $result[] = array_slice($firstArray, $start, $enum);
            //开始位置加上累加元素的个数
            $start += $enum;
        }
        //数组剩余部分分别加到结果集的前几项中
        $secondLength = $allLength - $firstLength;
        for($i=0; $i<$secondLength; $i++){
            array_push($result[$i], $array[$i + $firstLength]);
        }
    }else{
        for($i=0; $i<$allLength; $i++){
            $result[] = array_slice($array, $i, 1);
        }
    }
    return $result;
}
PHP 相关文章推荐
php开发文档 会员收费1期
Aug 14 PHP
解析php中const与define的应用区别
Jun 18 PHP
解析php多线程下载远程多个文件
Jun 25 PHP
PHP字符串的连接的简单实例
Dec 30 PHP
destoon官方标签大全
Jun 20 PHP
php采用curl实现伪造IP来源的方法
Nov 21 PHP
CentOS下PHP安装Oracle扩展
Feb 15 PHP
PHP使用PHPexcel导入导出数据的方法
Nov 14 PHP
php监测数据是否成功插入到Mysql数据库的方法
Nov 25 PHP
thinkPHP统计排行与分页显示功能示例
Dec 02 PHP
php使用GD2绘制几何图形示例
Feb 15 PHP
PHP设计模式(七)组合模式Composite实例详解【结构型】
May 02 PHP
php 判断字符串中是否包含html标签
Feb 17 #PHP
php 判断服务器操作系统的类型
Feb 17 #PHP
PHPMailer的主要功能特点和简单使用说明
Feb 17 #PHP
PHP创建桌面快捷方式的实例代码
Feb 17 #PHP
PHP json_decode函数详细解析
Feb 17 #PHP
php实现aes加密类分享
Feb 16 #PHP
实现获取http内容的php函数分享
Feb 16 #PHP
You might like
PHP入门速成(2)
2006/10/09 PHP
PHP4引用文件语句的对比
2006/10/09 PHP
PHP 面向对象程序设计(oop)学习笔记 (五) - PHP 命名空间
2014/06/12 PHP
php计算两个日期时间差(返回年、月、日)
2014/06/19 PHP
php+html5实现无刷新图片上传教程
2016/01/22 PHP
PHP利用Cookie设置用户30分钟未操作自动退出功能
2017/07/03 PHP
PHP策略模式定义与用法示例
2017/07/27 PHP
在JavaScript中通过URL传递汉字的方法
2007/04/09 Javascript
js操作textarea方法集合封装(兼容IE,firefox)
2011/02/22 Javascript
用jQuery实现一些导航条切换,显示隐藏的实例代码
2013/06/08 Javascript
浏览器缩放检测的js代码
2014/09/28 Javascript
用jquery模仿的a的title属性的例子
2014/10/22 Javascript
JQuery实现防止退格键返回的方法
2015/02/12 Javascript
阻止表单提交按钮多次提交的完美解决方法
2016/05/16 Javascript
KnockoutJS 3.X API 第四章之数据控制流foreach绑定
2016/10/10 Javascript
Node.js的文件权限及读写flag详解
2016/10/11 Javascript
Vue-cli proxyTable 解决开发环境的跨域问题详解
2017/05/18 Javascript
Vue脚手架编写试卷页面功能
2020/03/17 Javascript
vue-drawer-layout实现手势滑出菜单栏
2020/11/19 Vue.js
[44:40]Spirit vs Navi Supermajor小组赛 A组败者组第一轮 BO3 第一场 6.2
2018/06/03 DOTA
[01:13:46]iG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python使用multiprocessing创建进程的方法
2015/06/04 Python
python 写的一个爬虫程序源码
2016/02/28 Python
python类的方法属性与方法属性的动态绑定代码详解
2017/12/27 Python
python批量实现Word文件转换为PDF文件
2018/03/15 Python
详解Python中的正则表达式
2018/07/08 Python
Python中socket网络通信是干嘛的
2020/05/27 Python
Pycharm Git 设置方法
2020/09/15 Python
matplotlib对象拾取事件处理的实现
2021/01/14 Python
CSS3 边框效果
2019/11/04 HTML / CSS
英国虚拟主机服务商:eUKhost
2016/08/16 全球购物
VisionPros美国站:加拿大在线隐形眼镜和眼镜零售商
2020/02/11 全球购物
先进班组事迹材料
2014/12/25 职场文书
2015年社区卫生工作总结
2015/04/21 职场文书
团支部书记竞选稿
2015/11/21 职场文书
mongodb的安装和开机自启动详细讲解
2021/08/02 MongoDB