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+XML 制作简单的留言本 图文教程
Nov 02 PHP
PHP三层结构(上) 简单三层结构
Jul 04 PHP
PHP采集利器 Snoopy 试用心得
Jul 03 PHP
php数组函数序列之krsort()- 对数组的元素键名进行降序排序,保持索引关系
Nov 02 PHP
php中3des加密代码(完全与.net中的兼容)
Aug 02 PHP
浅析php面向对象public private protected 访问修饰符
Jun 30 PHP
关于PHP语言构造器介绍
Jul 08 PHP
codeigniter上传图片不能正确识别图片类型问题解决方法
Jul 25 PHP
php简单实现快速排序的方法
Apr 04 PHP
PHP实现的统计数据功能详解
Dec 06 PHP
PHP调试及性能分析工具Xdebug详解
Feb 09 PHP
PHP实现浏览器格式化显示XML的方法示例
Jan 22 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 字符串分割和比较
2009/10/06 PHP
PHP获取数组中指定的一列实例
2017/12/27 PHP
原生js实现淘宝首页点击按钮缓慢回到顶部效果
2014/04/06 Javascript
JavaScript的作用域和块级作用域概念理解
2014/09/21 Javascript
javascript面向对象之定义成员方法实例分析
2015/01/13 Javascript
微信小程序 POST请求(网络请求)详解及实例代码
2016/11/16 Javascript
vue之数据交互实例代码
2017/06/16 Javascript
详解利用 Vue.js 实现前后端分离的RBAC角色权限管理
2017/09/15 Javascript
JavaScript创建防篡改对象的方法分析
2018/12/30 Javascript
Vue项目路由刷新的实现代码
2019/04/17 Javascript
jquery实现直播视频弹幕效果
2020/02/25 jQuery
jQuery使用ajax传递json对象到服务端及contentType的用法示例
2020/03/12 jQuery
javaScript代码飘红报错看不懂?读完这篇文章再试试
2020/08/19 Javascript
使用PYTHON创建XML文档
2012/03/01 Python
Python入门篇之函数
2014/10/20 Python
Python中实现对Timestamp和Datetime及UTC时间之间的转换
2015/04/08 Python
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
2015/04/16 Python
Python实现利用最大公约数求三个正整数的最小公倍数示例
2017/09/30 Python
Pandas之Fillna填充缺失数据的方法
2019/06/25 Python
pytorch动态网络以及权重共享实例
2020/01/06 Python
Django choices下拉列表绑定实例
2020/03/13 Python
Python多个装饰器的调用顺序实例解析
2020/05/22 Python
利用python下载scihub成文献为PDF操作
2020/07/09 Python
Charlotte Tilbury英国官网:英国彩妆品牌
2017/05/26 全球购物
美国在线艺术商店:HandmadePiece
2020/11/06 全球购物
商务会议邀请函
2014/01/09 职场文书
会计毕业生自荐书
2014/06/12 职场文书
幼儿园中班区域活动总结
2014/07/09 职场文书
工资收入证明
2014/10/07 职场文书
从事会计工作年限证明
2015/06/23 职场文书
个人欠条范本
2015/07/03 职场文书
大学文艺委员竞选稿
2015/11/19 职场文书
使用 JavaScript 制作页面效果
2021/04/21 Javascript
java Nio使用NioSocket客户端与服务端交互实现方式
2021/06/15 Java/Android
sql时间段切分实现每隔x分钟出一份高速门架车流量
2022/02/28 SQL Server
项目中Nginx多级代理是如何获取客户端的真实IP地址
2022/05/30 Servers