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动态图像的创建
Oct 09 PHP
php文档更新介绍
Jul 22 PHP
php简单的留言板与回复功能具体实现
Feb 19 PHP
PHP获取当前所在目录位置的方法
Nov 26 PHP
PHP7常量数组用法分析
Sep 26 PHP
php性能分析之php-fpm慢执行日志slow log用法浅析
Oct 17 PHP
浅谈PHP中类和对象的相关函数
Apr 26 PHP
Laravel实现autoload方法详解
May 07 PHP
PHP使用mongoclient简单操作mongodb数据库示例
Feb 08 PHP
Swoole实现异步投递task任务案例详解
Apr 02 PHP
php 中的信号处理操作实例详解
Mar 04 PHP
PHP 实现链式操作
Mar 09 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
基于mysql的论坛(1)
2006/10/09 PHP
对Session和Cookie的区分与解释
2007/03/16 PHP
php5.4以上版本GBK编码下htmlspecialchars输出为空问题解决方法汇总
2015/04/03 PHP
基于jquery的跟随屏幕滚动代码
2012/07/24 Javascript
js检测输入内容全为空格的方法
2014/05/03 Javascript
jQuery延迟加载图片插件Lazy Load使用指南
2015/03/25 Javascript
jQuery+CSS实现的网页二级下滑菜单效果
2015/08/25 Javascript
jQuery基础的工厂函数以及定时器的经典实例分析
2016/05/20 Javascript
Node.js环境下编写爬虫爬取维基百科内容的实例分享
2016/06/12 Javascript
JS实现图片剪裁并预览效果
2016/08/12 Javascript
JavaScript实现图片瀑布流和底部刷新
2017/01/02 Javascript
详解bootstrap的modal-remote两种加载方式【强化】
2017/01/27 Javascript
jQuery获取table表中的td标签(实例讲解)
2017/07/28 jQuery
JS实现灯泡开关特效
2020/03/30 Javascript
webpack+vue.js构建前端工程化的详细教程
2020/05/10 Javascript
JavaScript中CreateTextFile函数
2020/08/30 Javascript
浅谈Vue static 静态资源路径 和 style问题
2020/11/07 Javascript
JavaScript实现消消乐的源代码
2021/01/12 Javascript
Python tempfile模块学习笔记(临时文件)
2014/05/25 Python
《Python之禅》中对于Python编程过程中的一些建议
2015/04/03 Python
Pytorch 保存模型生成图片方式
2020/01/10 Python
jupyter notebook参数化运行python方式
2020/04/10 Python
Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的
2020/04/20 Python
在Keras中利用np.random.shuffle()打乱数据集实例
2020/06/15 Python
python生成xml时规定dtd实例方法
2020/09/21 Python
CSS3实现时间轴特效
2020/11/02 HTML / CSS
基于HTML5实现类似微信手机摇一摇功能(计算摇动次数)
2017/07/24 HTML / CSS
为您的家、后院、车库等在线购物:Spreetail
2019/06/17 全球购物
招商业务员岗位职责
2013/12/16 职场文书
个人自我评价分享
2013/12/20 职场文书
优秀食品类广告词
2014/03/19 职场文书
网络营销计划书
2015/01/17 职场文书
幼儿园国庆节活动总结
2015/03/23 职场文书
2015社区个人工作总结范文
2015/05/13 职场文书
董事长助理工作总结2015
2015/07/23 职场文书
postgresql之greenplum字符串去重拼接方式
2023/05/08 PostgreSQL