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 相关文章推荐
WINDOWS服务器安装多套PHP的另类解决方案
Oct 09 PHP
ASP知识讲座四
Oct 09 PHP
发布一个迷你php+AJAX聊天程序[聊天室]提供下载
Jul 21 PHP
WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
Mar 28 PHP
PHP 变量定义和变量替换的方法
Jul 30 PHP
删除无限分类并同时删除它下面的所有子分类的方法
Aug 08 PHP
PHP判断网络文件是否存在的方法
Mar 12 PHP
php表单处理操作
Nov 16 PHP
php处理多图上传压缩代码功能
Jun 13 PHP
PHP工厂模式、单例模式与注册树模式实例详解
Jun 03 PHP
ThinkPHP6.0如何利用自定义验证规则规范的实现登陆
Dec 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
php数组函数序列之rsort() - 对数组的元素值进行降序排序
2011/11/02 PHP
一个php生成16位随机数的代码(两种方法)
2014/09/16 PHP
php实现在站点里面添加邮件发送的功能
2020/04/28 PHP
Javascript条件判断使用小技巧总结
2008/09/08 Javascript
javascript中删除指定数组中指定的元素的代码
2011/02/12 Javascript
javascript的parseFloat()方法精度问题探讨
2013/11/26 Javascript
JavaScript运行机制之事件循环(Event Loop)详解
2014/10/10 Javascript
jQuery页面加载初始化的3种方法(推荐)
2016/06/02 Javascript
通过AngularJS实现图片上传及缩略图展示示例
2017/01/03 Javascript
vue下拉列表功能实例代码
2018/04/08 Javascript
JavaScript函数节流和函数去抖知识点学习
2018/07/31 Javascript
webpack3升级到webpack4遇到问题总结
2019/09/30 Javascript
vuex 实现getter值赋值给vue组件里的data示例
2019/11/05 Javascript
[13:18]《一刀刀一天》之DOTA全时刻21:详解TI新赛制 A队再露獠牙
2014/06/24 DOTA
[04:09]2014DOTA2国际邀请赛Ti西雅图 历届冠军相继出局 BBC综述今日比赛
2014/07/20 DOTA
python网络编程实例简析
2014/09/26 Python
Python编程之变量赋值操作实例分析
2017/07/24 Python
tensorflow saver 保存和恢复指定 tensor的实例讲解
2018/07/26 Python
对python过滤器和lambda函数的用法详解
2019/01/21 Python
python dlib人脸识别代码实例
2019/04/04 Python
使用TFRecord存取多个数据案例
2020/02/17 Python
python绘制玫瑰的实现代码
2020/03/02 Python
一文解决django 2.2与mysql兼容性问题
2020/07/15 Python
浅谈amaze-ui中datepicker和datetimepicker注意的几点
2020/08/21 HTML / CSS
《得道多助,失道寡助》教学反思
2014/04/19 职场文书
中文专业毕业生自荐信
2014/05/24 职场文书
晋江市委常委班子四风问题整改工作方案
2014/10/26 职场文书
2014年防汛工作总结
2014/12/08 职场文书
坎儿井导游词
2015/02/09 职场文书
中秋节慰问信
2015/02/15 职场文书
毕业生政审意见范文
2015/06/04 职场文书
叶问观后感
2015/06/15 职场文书
python基于tkinter制作m3u8视频下载工具
2021/04/24 Python
MySQL 全文索引使用指南
2021/05/25 MySQL
MongoDB数据库之添删改查
2022/04/26 MongoDB
WIN10使用IIS部署ftp服务器详细教程
2022/08/05 Servers