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实现jQuery扩展函数
Oct 30 PHP
php读取二进制流(C语言结构体struct数据文件)的深入解析
Jun 13 PHP
一个PHP针对数字的加密解密类
Mar 20 PHP
PHP调用Linux命令权限不足问题解决方法
Feb 07 PHP
PHP随机生成信用卡卡号的方法
Mar 23 PHP
非常重要的php正则表达式详解
Jan 04 PHP
php 实现Hash表功能实例详解
Nov 29 PHP
YII2 实现多语言配置的方法分享
Jan 11 PHP
php实现头像上传预览功能
Apr 27 PHP
Yii2选项卡的简单使用
May 26 PHP
PHP析构函数destruct与垃圾回收机制的讲解
Mar 22 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
Dec 25 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
如何使用Strace调试工具
2013/06/03 PHP
joomla jce editor 解决上传中文名文件失败问题
2013/06/09 PHP
php实现检查文章是否被百度收录
2015/01/27 PHP
php建立Ftp连接的方法
2015/03/07 PHP
浅谈COOKIE和SESSION区别
2015/07/19 PHP
日常整理PHP中简单的图形处理(经典)
2015/10/26 PHP
PHP图像识别技术原理与实现
2016/10/27 PHP
php根据命令行参数生成配置文件详解
2019/03/15 PHP
javascript 字符串连接的性能问题(多浏览器)
2008/11/18 Javascript
读jQuery之五(取DOM元素)
2011/06/20 Javascript
JavaScrip实现PHP print_r的数功能(三种方法)
2013/11/12 Javascript
基于jQuery的判断iPad、iPhone、Android是横屏还是竖屏的代码
2014/05/11 Javascript
Javascript学习笔记之 对象篇(三) : hasOwnProperty
2014/06/24 Javascript
javascript操作ul中li的方法
2015/05/14 Javascript
基于jQuery制作小图标上下滑动特效
2017/01/18 Javascript
angularjs之$timeout指令详解
2017/06/13 Javascript
vue项目中使用Hbuilder打包app 设置沉浸式状态栏的方法
2018/10/22 Javascript
微信小程序中使用Async-await方法异步请求变为同步请求方法
2019/03/28 Javascript
如何为你的JavaScript代码日志着色详解
2019/04/08 Javascript
使用js实现单链解决前端队列问题的方法
2020/02/03 Javascript
python实现爬虫下载漫画示例
2014/02/16 Python
python求pi的方法
2014/10/08 Python
剖析Django中模版标签的解析与参数传递
2015/07/21 Python
python使用生成器实现可迭代对象
2018/03/20 Python
Python中的heapq模块源码详析
2019/01/08 Python
获取django框架orm query执行的sql语句实现方法分析
2019/06/20 Python
Python SMTP配置参数并发送邮件
2020/06/16 Python
详解CSS3+JS完美实现放大镜模式
2020/12/03 HTML / CSS
英国Zoro工具:手动工具,电动工具和个人防护用品
2016/11/02 全球购物
荟萃全球保健品:维他购
2018/05/09 全球购物
智能电子应届生求职信
2013/11/10 职场文书
经典而简洁的婚礼主持词
2014/03/13 职场文书
爱的奉献演讲稿
2014/09/10 职场文书
县政府班子个人对照检查材料
2014/10/05 职场文书
2014三年级班主任工作总结
2014/12/05 职场文书
Promise面试题详解之控制并发
2021/05/14 面试题