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+mysql一个名片库程序
Oct 09 PHP
php 5.3.5安装memcache注意事项小结
Apr 12 PHP
php 归并排序 数组交集
May 10 PHP
组合算法的PHP解答方法
Feb 04 PHP
php中0,null,empty,空,false,字符串关系的详细介绍
Jun 20 PHP
php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
Dec 15 PHP
ThinkPHP中使用ajax接收json数据的方法
Dec 18 PHP
thinkphp备份数据库的方法分享
Jan 04 PHP
XHProf报告字段含义的解析
May 17 PHP
PHP实现网站应用微信登录功能详解
Apr 11 PHP
php 使用mpdf实现指定字段配置字体样式的方法
Jul 29 PHP
laravel-admin 管理平台获取当前登陆用户信息的例子
Oct 08 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
dede3.1分页文字采集过滤规则详说(图文教程)
2007/04/03 PHP
Linux下CoreSeek及PHP扩展模块的安装
2012/09/23 PHP
php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
2014/11/06 PHP
JavaScript 变量命名规则
2009/09/23 Javascript
JavaScript 验证码的实例代码(附效果图)
2013/03/22 Javascript
JS使用oumousemove和oumouseout动态改变图片显示的方法
2015/03/31 Javascript
JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题
2015/12/07 Javascript
基于Javascript实现倒计时功能
2016/02/22 Javascript
JSON字符串转换JSONObject和JSONArray的方法
2016/06/03 Javascript
详解vue-cli + webpack 多页面实例应用
2017/04/25 Javascript
js HTML5 canvas绘制图片的方法
2017/09/08 Javascript
详解React中合并单元格的正确写法
2019/01/08 Javascript
通过js给网页加上水印背景实例
2019/06/17 Javascript
layui 上传图片 返回图片地址的方法
2019/09/26 Javascript
[02:26]2016国际邀请赛8月3日开战 中国军团出征西雅图
2016/08/02 DOTA
python网络编程学习笔记(10):webpy框架
2014/06/09 Python
利用Python的Flask框架来构建一个简单的数字商品支付解决方案
2015/03/31 Python
举例讲解Python中的算数运算符的用法
2015/05/13 Python
Python做简单的字符串匹配详解
2017/03/21 Python
pygame加载中文名mp3文件出现error
2017/03/31 Python
pyspark 读取csv文件创建DataFrame的两种方法
2018/06/07 Python
python实现textrank关键词提取
2018/06/22 Python
CentOS下Python3的安装及创建虚拟环境的方法
2018/11/28 Python
详解pandas.DataFrame中删除包涵特定字符串所在的行
2019/04/04 Python
Django表单提交后实现获取相同name的不同value值
2020/05/14 Python
Django限制API访问频率常用方法解析
2020/10/12 Python
英国最大的独立摄影零售商:Park Cameras
2019/11/27 全球购物
如何在C# winform中异步调用web services
2015/09/21 面试题
五星级酒店餐饮部总监的标准岗位职责
2014/02/17 职场文书
委托书怎么写
2014/07/31 职场文书
2014业务员年终工作总结
2014/12/09 职场文书
美术教师个人总结
2015/02/06 职场文书
三八妇女节慰问信
2015/02/14 职场文书
企业版Windows 11有哪些新功能? Win11适用于企业的功能介绍
2021/11/21 数码科技
vue中this.$http.post()跨域和请求参数丢失的解决
2022/04/08 Vue.js
vue本地构建热更新卡顿的问题“75 advanced module optimization”完美解决方案
2022/08/05 Vue.js