Php 如何在阵列上循环任意次数?
我想在数组上迭代任意次数,因此得到如下输出:Php 如何在阵列上循环任意次数?,php,arrays,Php,Arrays,我想在数组上迭代任意次数,因此得到如下输出: 1 -> R 2 -> G 3 -> B 4 -> B 5 -> G 6 -> R 7 -> R 8 -> G 9 -> B 10 -> B ... Till 100 Array( [0] => Red [1] => Green [2] => Blue [3] => Blue [4] => Green [5]
1 -> R
2 -> G
3 -> B
4 -> B
5 -> G
6 -> R
7 -> R
8 -> G
9 -> B
10 -> B
...
Till 100
Array(
[0] => Red
[1] => Green
[2] => Blue
[3] => Blue
[4] => Green
[5] => Red
)
到目前为止,我从以下代码开始:
$range = range(1,100);
$color = array("Red", "Green", "Blue");
$clr = 0;
for($i=0; $i<count($range); $i++){
echo "<div style='color :".$color[$clr]."'>".$range[$i]. " " .$color[$clr]. "<br>";
$clr++;
if($clr == 3){
$clr = 0;
}
}
$range=范围(1100);
$color=数组(“红色”、“绿色”、“蓝色”);
$clr=0;
对于($i=0;$i$range=range(1100);
$color=数组(“红色”、“绿色”、“蓝色”);
$clr=0;
$check=0;
对于($i=0;$i2){
$check++;
}
如果($check==1){
$clr--;
}
}
我做到了这应该对你有用:
首先将反向数组添加到数组中,这样就得到了一个数组。之后,您将得到一个如下所示的数组:
1 -> R
2 -> G
3 -> B
4 -> B
5 -> G
6 -> R
7 -> R
8 -> G
9 -> B
10 -> B
...
Till 100
Array(
[0] => Red
[1] => Green
[2] => Blue
[3] => Blue
[4] => Green
[5] => Red
)
然后,您可以使用一个
<?php
$limit = 100;
$color = array("Red", "Green", "Blue");
$arrayIt = new ArrayIterator(array_merge($color, array_reverse($color)));
$infiniteIt = new InfiniteIterator($arrayIt);
$it = new LimitIterator($infiniteIt, 0, $limit);
foreach($it as $v)
echo substr($v, 0, 1) . PHP_EOL;
?>
你在这篇文章中试过什么?不清楚你在问什么。你能更具体一点吗?我想在$color==3这不是PHP问题时运行一个相反的外观。标题与作者的问题无关。那么这个问题我们在哪里?下面的答案解决了你的问题吗?