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脚本
Nov 26 PHP
PHP5 安装方法
Jan 15 PHP
php快速url重写更新版[需php 5.30以上]
Apr 25 PHP
PHP服务器页面间跳转实现方法
Aug 02 PHP
ThinkPHP实现将本地文件打包成zip下载
Jun 26 PHP
CodeIgniter中使用cookie的三种方式详解
Jul 18 PHP
PHP生成条形图的方法
Dec 10 PHP
PHP strip_tags保留多个HTML标签的方法
May 22 PHP
php好代码风格的阶段性总结
Jun 25 PHP
Laravel框架实现model层的增删改查(CURD)操作示例
May 12 PHP
TP5框架使用QueryList采集框架爬小说操作示例
Mar 26 PHP
TP5多入口设置实例讲解
Dec 15 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
如何让CI框架支持service层
2014/10/29 PHP
php实现的简单检验登陆类
2015/06/18 PHP
thinkPHP5框架auth权限控制类与用法示例
2018/06/12 PHP
PHP正则表达式处理函数(PCRE 函数)实例小结
2019/05/09 PHP
php常用的工具开发整理
2019/09/26 PHP
关于laravel后台模板laravel-admin select框的使用详解
2019/10/03 PHP
PHP使用JpGraph绘制折线图操作示例【附源码下载】
2019/10/18 PHP
JS 非图片动态loading效果实现代码
2010/04/09 Javascript
js实现checkbox全选、不选与反选的方法
2015/02/09 Javascript
两种JS实现屏蔽鼠标右键的方法
2020/08/20 Javascript
javascript针对cookie的基本操作实例详解
2015/11/30 Javascript
以JavaScript来实现WordPress中的二级导航菜单的方法
2015/12/14 Javascript
详解javascript跨浏览器事件处理程序
2016/03/27 Javascript
论Bootstrap3和Foundation5网格系统的异同
2016/05/16 Javascript
省市选择的简单实现(基于zepto.js)
2016/06/21 Javascript
ES6中Proxy代理用法实例浅析
2017/04/06 Javascript
详解webpack 多入口配置
2017/06/16 Javascript
微信小程序实现倒计时60s获取验证码
2020/04/17 Javascript
AngularJS模糊查询功能实现代码(过滤内容下拉菜单排序过滤敏感字符验证判断后添加表格信息)
2017/10/24 Javascript
vue .js绑定checkbox并获取、改变选中状态的实例
2018/08/24 Javascript
vue组件传值的实现方式小结【三种方式】
2020/02/05 Javascript
python遍历序列enumerate函数浅析
2017/10/17 Python
python清理子进程机制剖析
2017/11/23 Python
django项目环境搭建及在虚拟机本地创建django项目的教程
2019/08/02 Python
python使用paramiko实现ssh的功能详解
2020/03/06 Python
python多线程semaphore实现线程数控制的示例
2020/08/10 Python
python 读取、写入txt文件的示例
2020/09/27 Python
JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
2013/07/02 面试题
《燕子专列》教学反思
2014/02/21 职场文书
幼儿园父亲节活动方案
2014/03/11 职场文书
三八节主持词
2014/03/17 职场文书
2015年公司新年寄语
2014/12/08 职场文书
给老师的保证书怎么写
2015/05/09 职场文书
庆祝教师节主持词
2015/07/06 职场文书
运动会闭幕式通讯稿
2015/07/18 职场文书
tp5使用layui实现多个图片上传(带附件选择)的方法实例
2021/11/17 PHP