Heim >Backend-Entwicklung >PHP-Tutorial >求大神解决下php数组循环的问题

求大神解决下php数组循环的问题

WBOY
WBOYOriginal
2016-06-23 13:35:06874Durchsuche

我有一个数组如下

$arr = array(1,2,3,4,5,6,7,8);
希望用循环输出
start1
1
2
3
4
end1
start2
1
2
3
4
end2
----------------------------------------------------------
start1
5
6
7
8
end1
start2
5
6
7
8
end2

意思就是把数组 每4个一分组 
而且每组要重复两次


回复讨论(解决方案)

<?php$arr = array(1,2,3,4,5,6,7,8);for($i=0; $i<count($arr); $i+=4){	$temp = array_slice($arr, $i, 4);	for($k=1; $k<=2; $k++){		echo 'start'.$k.'<br>';		foreach ($temp as $val) {			echo $val.'<br>';		}		echo 'end'.$k.'<br>';	}}

$arr = array(1,2,3,4,5,6,7,8);$n = 2; // 循环2次$split = 4; // 4个为一个分组echo '<pre class="brush:php;toolbar:false">';response($arr, $n, $split);echo '
';function response($arr, $n, $split){ while(count($arr)>0){ $tmp = array_splice($arr, 0, $split); for($i=0;$i

start11234end1start21234end2----------------------------------------------------------start15678end1start25678end2

while(count($arr)>0)
while循环没有终止 为什么是正常的呢

while(count($arr)>0)
while循环没有终止 为什么是正常的呢



array_splice 会把 $arr的元素拿出,使$arr元素减少。所以当元素全部取出后。$arr为空,退出循环。

好的 非常感谢

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn