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 5.0对象模型深度探索之绑定
Sep 05 PHP
用文本文件制作留言板提示(上)
Oct 09 PHP
mysql5的sql文件导入到mysql4的方法
Oct 19 PHP
CodeIgniter基本配置详细介绍
Nov 12 PHP
php实现根据url自动生成缩略图的方法
Sep 23 PHP
PHP中加密解密函数与DES加密解密实例
Oct 17 PHP
php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法
Jul 06 PHP
thinkphp制作404跳转页的简单实现方法
Sep 22 PHP
php+javascript实现的动态显示服务器运行程序进度条功能示例
Aug 07 PHP
lnmp安装多版本PHP共存的方法详解
Aug 02 PHP
PHP使用pdo实现事务处理操作示例
Sep 05 PHP
Yii框架 session 数据库存储操作方法示例
Nov 18 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
3.从实例开始
2006/10/09 PHP
基于PHP编程注意事项的小结
2013/04/27 PHP
PHP+Jquery与ajax相结合实现下拉淡出瀑布流效果【无需插件】
2016/05/06 PHP
php处理单文件、多文件上传代码分享
2016/08/24 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
laravel 执行迁移回滚示例
2019/10/23 PHP
微信小程序发送订阅消息的方法(php 为例)
2019/10/30 PHP
php的RSA加密解密算法原理与用法分析
2020/01/23 PHP
防止动态加载JavaScript引起的内存泄漏问题
2009/10/08 Javascript
jQuery判断checkbox是否选中的3种方法
2014/08/12 Javascript
javascript最基本的函数汇总
2015/06/25 Javascript
基于JS实现简单的样式切换效果代码
2015/09/04 Javascript
JavaScript toUpperCase()方法使用详解
2016/08/26 Javascript
js实现界面向原生界面发消息并跳转功能
2016/11/22 Javascript
如何使用headjs来管理和异步加载js
2016/11/29 Javascript
NodeJS自定义模块写法(详解)
2017/06/27 NodeJs
BootStrap TreeView使用实例详解
2017/11/01 Javascript
通过vue-cli3构建一个SSR应用程序的方法
2018/09/13 Javascript
python中sets模块的用法实例
2014/09/30 Python
Python解决八皇后问题示例
2018/04/22 Python
python3中zip()函数使用详解
2018/06/29 Python
Python分割指定页数的pdf文件方法
2018/10/26 Python
对Pycharm创建py文件时自定义头部模板的方法详解
2019/02/12 Python
python 模拟创建seafile 目录操作示例
2019/09/26 Python
tensorflow使用L2 regularization正则化修正overfitting过拟合方式
2020/05/22 Python
Python matplotlib模块及柱状图用法解析
2020/08/10 Python
好药师网上药店:安全合法的网上药品零售药房
2017/02/15 全球购物
美国在线打印网站:Overnight Prints
2018/10/11 全球购物
如何将整数int转换成字串String
2014/03/21 面试题
银行领导证婚词
2014/01/11 职场文书
英语专业学生个人求职信
2014/01/28 职场文书
护士的自我鉴定
2014/02/07 职场文书
村党支部换届选举方案
2014/05/02 职场文书
出国留学英文自荐信
2015/03/25 职场文书
golang 实现菜单树的生成方式
2021/04/28 Golang
Golang ort 中的sortInts 方法
2022/04/24 Golang