请大神帮忙,最好帮忙写个方法,谢谢。

一个一维数组有3000个元素
怎么把它分割成3个1000个元素的一维数组

array(0=>q, 1=>q, 2=>q, ...........3000=>q);
成为:
array(0=>q, 1=>q, 2=>q, ...........1000=>q);
array(1001=>q, 1002=>q, 1003=>q, ...........2000=>q);
array(2001=>q, 2002=>q, 2003=>q, ...........3000=>q);

杨魅力
浏览 87回答 2
2回答

慕桂英3389331

$a = array(1=>'a',2=>'b',3=>'c',4=>'d',5=>'e',6=>'f',7=>'g',8=>'h',9=>'i');function sliceArr($a){$num = 3;//截取的长度,我给的例子默认为3,你换成1000就OK了。$a1 = array_slice($a,0,$num);//你写成($a,0,$num)print_r($a1);echo "<br/>";$a2 = array_slice($a,3,$num);//你写成($a,1000,$num) 可能不准,不过就是999或者1001,你可以试一下print_r($a2);echo "<br/>";$a3 = array_slice($a, 6,$num);//你写成($a,2000,$num)print_r($a3);}sliceArr($a);

富国沪深

$array = range(0,4999);function fenge($arr,$group){$newArr = [];for ($i=0; $i < count($arr); $i++) {$newArr[floor($i/$group)][$i] = $arr[$i];}return $newArr;}echo '<pre>';print_r(fenge($array,500));
打开App,查看更多内容
随时随地看视频慕课网APP