请问一个一维数组有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);

请大神帮忙
最好写个方法,谢谢。给加分
为了解决oracle ,sql ,in 的问题

杨__羊羊
浏览 111回答 2
2回答

料青山看我应如是

$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);

当年话下

$arr=array();for($i=1;$i<=3000;$i++){&nbsp;&nbsp;&nbsp;&nbsp;$arr[$i-1]=$i;}$one=array();$two=array();$three=array();$oneindex=0;$twoindex=0;$threeindex=0;for($j=0;$j<count($arr);$j++){&nbsp;&nbsp;&nbsp;&nbsp;if($j<1000){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$one[$oneindex]=$arr[$j];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$oneindex++;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;if($j>=1000&&$j<2000){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$two[$twoindex]=$arr[$j];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$twoindex++;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;if($j>=2000&&$j<3000){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$three[$threeindex]=$arr[$j];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$threeindex++;&nbsp;&nbsp;&nbsp;&nbsp;}}echo&nbsp;count($one);echo&nbsp;count($two);echo&nbsp;count($three);print_r($three);这样就可以了
打开App,查看更多内容
随时随地看视频慕课网APP