一、第一种解法

<?php //把一个数组分成几个数组//$arr 是数组//$num 是数组的个数function partition($arr,$num){//数组的个数$listcount=count($arr);//分成$num 个数组每一个数组是多少个元素$parem=floor($listcount/$num);//分成$num 个数组还余多少个元素$paremm=$listcount%$num;$start=0;for($i=0;$i<$num;$i++){$end=$i<$paremm?

$parem+1:$parem; $newarray[$i]=array_slice($arr,$start,$end); $start=$start+$end; } return $newarray; } $arr=array(1,3,4,5,6,7,8,9,2); print_r(partition($arr,3));

二、另外一种解法是模拟现实生活中怎样把一个一维数组拆分成n个元素的多维数组。代码入下。

  function get_array_columns($array, $columns){$columns_map=array();for($i=0;$i<$columns;$i++){$columns_map[]=0;}$array_length=count($array);$position=0;while($array_length>0){$columns_map[$position]++;//这个地方格外注意,$position与$columns比較$position=($position<$columns-1)?++$position:0;$array_length--;}foreach ($columns_map as $val){$newarray[]=array_splice($array,0,$val);}return $newarray;}$arr=array(1,2,3,4,5,6,7,8);print_r(call_user_func_array('get_array_columns',array($arr,2)));

转载于:https://www.cnblogs.com/jhcelue/p/7133168.html

php 把一个数组分成有n个元素的二维数组的算法相关推荐

  1. Java黑皮书课后题第8章:*8.13(定位最大的元素)编写下面的方法,返回二维数组中最大元素的位置。返回值是包含两个元素的一维数组,这两个元素表示二维数组中最大元素的行下标和列下标

    *8.13(定位最大的元素)编写下面的方法,返回二维数组中最大元素的位置.返回值是包含两个元素的一维数组,这两个元素表示二维数组中最大元素的行下标和列下标 题目 题目描述与运行示例 破题 代码 题目 ...

  2. Java黑皮书课后题第9章:**9.13(Location类)设计一个名为Location的类,定位二维数组中的最大值及其位置。

    Java黑皮书课后题第9章:**9.13(Location类)设计一个名为Location的类,定位二维数组中的最大值及其位置 题目 破题 代码 Test13 Test13_Location 运行结果 ...

  3. 6-2 指针与数组-矩阵的各列求和分数 10 本题要求实现一个函数,求一个n (小于10)行7列的二维数组各列的和。将各列和存放在一个至少7个单元的一维数组中。函数接口定义:

    本题要求实现一个函数,求一个n (小于10)行7列的二维数组各列的和.将各列和存放在一个至少7个单元的一维数组中. 函数接口定义: void fun ( int data[][7], int resu ...

  4. PHP常用数组函数(含按键值删除二维数组中的元素)

    // 1.array_search():在数组中搜索键值"red",并返回它的键名 $a=array("a"=>"red"," ...

  5. 遍历二维数组_Java编程基础阶段笔记 day06 二维数组

    二维数组 笔记Notes 二维数组 二维数组声明 二维数组静态初始化与二位初始化 二维数组元素赋值与获取 二维数组遍历 二维数组内存解析 打印杨辉三角 Arrays工具类 数组中常见的异常 二维数组 ...

  6. python二维数组去重_np.unique()对一维和二维数组去重

    一维数组 对一维数组或列表,unique()函数去除其中重复元素,并按元素大小返回一个新的无重复元组或列表. import numpy as np A = [1, 2, 2, 5,3, 4, 3] a ...

  7. c语言二维数组对角线输出字符,输出二维数组对角线上的数 c语言 二维数组 对角线相加...

    1.编写程序,把下面的数据输入到一个二维数组中: 25 36 78 13 12 26 8我自己编的,用VISUAL C++6.0 测试过了 #include"stdio.h" vo ...

  8. c语言字符二维数组传参,C语言函数传递二维数组

    C语言如果给函数传递二维数组作为参数 问题的产生 先看一个传递二维数组的例子: #include void foo(int a[][], int m, int n) { int i = 1; int ...

  9. pythonjson构建二维数组_python后台获取ajax传递的二维数组,保持原有数据结构不变...

    python后台获取ajax传递的二维数组,保持原有数据结构不变. 前台主要程序: arr_data = [[1,2,3],[4,5,6]];//创建二维数组 var json_data = JSON ...

最新文章

  1. 【云周刊】第146期:史上最大规模人机协同的双11,12位技术大V揭秘背后黑科技...
  2. es文件浏览器鸿蒙,手机文件一团糟 八款安卓文件管理器来救急
  3. [源码和文档分享]基于JAVA EE框架的在线考试系统平台的设计与实现
  4. 【Python基础】在pandas中使用数据透视表
  5. Laravel查询搜索函数集合:find  first  firstWhere firstOr findOrFail firstOrFail firstOrNew firstOrCreate
  6. ubuntu18.04 VirtualBox 开启虚拟机出错 Kernel driver not installed (rc=-1908)
  7. 和AI机器人Alice的一段聊天记录
  8. [css] 使用纯css能否监控到用户的一些信息?怎么实现?
  9. jsp页面传中文到action中乱码问题
  10. 【youcans 的 OpenCV 例程200篇】125. 形态算法之提取连通分量
  11. php refcount,php的函数的形参refcount为何要加2
  12. 推荐系统整体架构及算法流程详解
  13. Alluxio部署(local模式)
  14. c3p0数据库连接池配置总结
  15. 单片机热敏电阻测温度c语言,单片机实现热热敏电阻测温电路
  16. 装逼技能:怎样优雅地摆放桌面图标?
  17. The Algorithms
  18. 小结大学计算机基础课程内容报告,WORD制作新年贺卡和个人简历大学计算机基础课程设计报告书...
  19. 我最爱的超女-琪琪格
  20. 软件开发搞定操作系统

热门文章

  1. 机器学习算法总结--GBDT
  2. 罗斯蒙特电磁流量计8723说明书_罗斯蒙特8732E电磁流量计故障原因及解决办法!...
  3. WebStorm使用教程
  4. hadoop 2.7.2 + zookeeper 高可用集群部署
  5. Ubuntu查看磁盘空间命令(转载)
  6. 一张图说明我们为什么要关注 HTML5
  7. android 获取系统时间的时间戳 ,时间戳日期互转,计算日期时间差,获取明天日期,比较时间大小
  8. fs-extra导出换行txt文件
  9. 腾讯地图 marker 从地图上清空
  10. js Array扩展方法