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 相关文章推荐
mysql5写入和读出乱码解决
Nov 25 PHP
一些需要禁用的PHP危险函数(disable_functions)
Feb 23 PHP
LotusPhp笔记之:Cookie组件的使用详解
May 06 PHP
探讨如何在php168_cms中提取验证码
Jun 08 PHP
PHP整数取余返回负数的相关解决方法
May 15 PHP
php学习笔记之基础知识
Nov 08 PHP
php获取数组元素中头一个数组元素值的实现方法
Dec 20 PHP
php实现将任意进制数转换成10进制的方法
Apr 17 PHP
php源码 fsockopen获取网页内容实例详解
Sep 24 PHP
php查找字符串中第一个非0的位置截取
Feb 27 PHP
Thinkphp事务操作实例(推荐)
Apr 01 PHP
PHP进阶学习之类的自动加载机制原理分析
Jun 18 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中Ctype函数用法详解
2014/12/09 PHP
PHP闭包函数详解
2016/02/13 PHP
Yii2框架RESTful API 格式化响应,授权认证和速率限制三部分详解
2016/11/10 PHP
PDO实现学生管理系统
2020/03/21 PHP
漂亮的仿flash菜单,来自蓝色经典
2006/06/26 Javascript
JavaScript 原型继承之构造函数继承
2011/08/26 Javascript
javascript读取Xml文件做一个二级联动菜单示例
2014/03/17 Javascript
JS常用表单验证方法总结
2014/05/22 Javascript
jQuery异步加载数据并添加事件示例
2014/08/24 Javascript
JS长整型精度问题实例分析
2015/01/13 Javascript
详解JavaScript中getFullYear()方法的使用
2015/06/10 Javascript
js window对象属性和方法相关资料整理
2015/11/11 Javascript
使用jQuery制作Web页面遮罩层插件的实例教程
2016/05/26 Javascript
bootstrap折叠调用collapse()后data-parent不生效的快速解决办法
2017/02/23 Javascript
jquery.guide.js新版上线操作向导镂空提示jQuery插件(推荐)
2017/05/20 jQuery
angular项目中bootstrap-datetimepicker时间插件的使用示例
2018/03/15 Javascript
JS中移除非数字最多保留一位小数
2018/05/09 Javascript
解决vue动态为数据添加新属性遇到的问题
2018/09/18 Javascript
[01:05:40]VG vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
python dataframe astype 字段类型转换方法
2018/04/11 Python
Python3多目标赋值及共享引用注意事项
2019/05/27 Python
python小程序实现刷票功能详解
2019/07/17 Python
感知器基础原理及python实现过程详解
2019/09/30 Python
python脚本调用iftop 统计业务应用流量的思路详解
2019/10/11 Python
Python集合基本概念与相关操作实例分析
2019/10/30 Python
安装多个版本的TensorFlow的方法步骤
2020/04/21 Python
Python selenium模拟手动操作实现无人值守刷积分功能
2020/05/13 Python
windows系统Tensorflow2.x简单安装记录(图文)
2021/01/18 Python
html5文字阴影效果text-shadow使用示例
2013/07/25 HTML / CSS
Agoda西班牙:全球特价酒店预订
2017/06/03 全球购物
博柏利美国官方网站:Burberry美国
2020/11/19 全球购物
应届毕业生求职信范例分享
2013/12/17 职场文书
小学国庆节活动方案
2014/02/11 职场文书
住房租房协议书
2014/08/20 职场文书
2015年宣传部部长竞选演讲稿
2014/11/28 职场文书
2015年上半年物业工作总结
2015/03/30 职场文书