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问题时运行一个相反的外观。标题与作者的问题无关。那么这个问题我们在哪里?下面的答案解决了你的问题吗?