Rumah >pembangunan bahagian belakang >tutorial php >求大神解决下php数组循环的问题

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

WBOY
WBOYasal
2016-06-23 13:35:06873semak imbas

我有一个数组如下

$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为空,退出循环。

好的 非常感谢

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn