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 socket(fsockopen)的应用实例分析
Jun 02 PHP
PHP设计模式之调解者模式的深入解析
Jun 13 PHP
php配合jquery实现增删操作具体实例
Dec 12 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十二)
Jun 25 PHP
国产PHP开发框架myqee新手快速入门教程
Jul 14 PHP
PHP处理JSON字符串key缺少双引号的解决方法
Sep 16 PHP
PHP清除数组中所有字符串两端空格的方法
Oct 20 PHP
php中debug_backtrace、debug_print_backtrace和匿名函数用法实例
Dec 01 PHP
PHP打印输出函数汇总
Aug 28 PHP
php解析mht文件转换成html的实例
Mar 13 PHP
php ajax数据传输和响应方法
Aug 21 PHP
php解决crontab定时任务不能写入文件问题的方法分析
Sep 16 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
打造计数器DIY三步曲(上)
2006/10/09 PHP
PHP json_encode() 函数详解及中文乱码问题
2015/11/05 PHP
PHP简单遍历对象示例
2016/09/28 PHP
设置iframe的document.designMode后仅Firefox中其body.innerHTML为br
2012/02/27 Javascript
js读取csv文件并使用json显示出来
2015/01/09 Javascript
javascript修改图片src的方法
2015/01/27 Javascript
js完美实现@提到好友特效(兼容各大浏览器)
2015/03/16 Javascript
JavaScript实现的字符串replaceAll函数代码分享
2015/04/02 Javascript
JS DOM实现鼠标滑动图片效果
2020/09/17 Javascript
Vue.js 2.0中select级联下拉框实例
2017/03/06 Javascript
浅谈react.js 之 批量添加与删除功能
2017/04/17 Javascript
详解angularjs的数组传参方式的简单实现
2017/07/28 Javascript
原生JS 购物车及购物页面的cookie使用方法
2017/08/21 Javascript
详解基于vue-router的动态权限控制实现方案
2017/09/28 Javascript
解决使用vue.js路由后失效的问题
2018/03/17 Javascript
jQuery扩展方法实现Form表单与Json互相转换的实例代码
2018/09/05 jQuery
详解js删除数组中的指定元素
2018/10/31 Javascript
vue学习笔记之slot插槽用法实例分析
2020/02/29 Javascript
[26:21]浴火之凤-TI4世界冠军Newbee战队纪录片
2014/08/07 DOTA
python实现的生成随机迷宫算法核心代码分享(含游戏完整代码)
2014/07/11 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
2018/08/04 Python
在Python中,不用while和for循环遍历列表的实例
2019/02/20 Python
python图像和办公文档处理总结
2019/05/28 Python
Python实现计算文件MD5和SHA1的方法示例
2019/06/11 Python
Python二维码生成识别实例详解
2019/07/16 Python
使用python绘制二维图形示例
2019/11/22 Python
浅谈tensorflow中张量的提取值和赋值
2020/01/19 Python
Python实现哲学家就餐问题实例代码
2020/11/09 Python
2020年10款优秀的Python第三方库,看看有你中意的吗?
2021/01/12 Python
国际领先的在线时尚服装和配饰店:DressLily
2019/03/03 全球购物
匡威西班牙官网:Converse西班牙
2019/10/01 全球购物
全球精选男装和家居用品:Article
2020/04/13 全球购物
酒店销售经理岗位职责
2014/01/31 职场文书
工地安全标语
2014/06/07 职场文书
缓刑人员思想汇报
2014/10/11 职场文书
Pytorch中TensorBoard及torchsummary的使用详解
2021/05/12 Python