php 把一个数组分成有n个元素的二维数组的算法
生活随笔
收集整理的這篇文章主要介紹了
php 把一个数组分成有n个元素的二维数组的算法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、第一種解法
? ? ? ? ?
<?php //把一個數(shù)組分成幾個數(shù)組//$arr 是數(shù)組//$num 是數(shù)組的個數(shù)function partition($arr,$num){//數(shù)組的個數(shù)$listcount=count($arr);//分成$num 個數(shù)組每一個數(shù)組是多少個元素$parem=floor($listcount/$num);//分成$num 個數(shù)組還余多少個元素$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));
二、另外一種解法是模擬現(xiàn)實生活中怎樣把一個一維數(shù)組拆分成n個元素的多維數(shù)組。代碼入下。
? ? ?
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)));轉(zhuǎn)載于:https://www.cnblogs.com/jhcelue/p/7133168.html
總結(jié)
以上是生活随笔為你收集整理的php 把一个数组分成有n个元素的二维数组的算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ROS与navigation教程——基本
- 下一篇: 竞品分析报告模板