我有一个在foreach循环中调用的函数,它接受两个参数,一个整数,表示循环运行的次数和一个数组(没有固定大小)。
我想返回等于计数器的数组键的值。
例如,如果数组有四个元素:A,B,C和D且计数器等于2,则返回B.但是,如果计数器等于6,我试图得到相同的结果,10,14,38,3998等等。
有没有一种简单的方法可以达到这个目的?
任何建议表示赞赏。
感谢。
答案 0 :(得分:1)
<?php
function foo($position, array $array)
{
return $array[$position % count($array)];
}
foreach ($array as $i => $whatever) {
$foo = foo($i, $whatever);
}
注意:我假设您正在遍历数组数组,并将其传递给您的函数。如果不是这样,那么只需传递你需要传递的数组而不是$ whatever。
答案 1 :(得分:0)
如果您只是使用此函数迭代数组,那么您也可以
$iterator= new LimitIterator( // will limit the iterations
new InfiniteIterator( // will restart on end
new ArrayIterator( // allows array iteration
array('A','B', 'C', 'D'))), // the array to iterate over
0, 20); // start offset and iterations
foreach($iterator as $value) {
echo $value; // outputs ABCDABCDABCDABCDABCD
}