2010-02-19 6 views
1

나는 foreach 루프 내에서 호출되는 함수가 있으며 루프가 실행 된 횟수와 고정 된 크기가 아닌 배열을 나타내는 정수라는 두 개의 매개 변수를 사용합니다.PHP - 루프 내에서 위치 얻기

나는 카운터와 같은 배열 키의 값을 반환하고 싶습니다.

예를 들어 배열에 A, B, C 및 D의 네 요소가 있고 카운터가 2 인 경우 B를 반환합니다. 그러나 카운터가 같으면 동일한 결과를 얻으려고합니다. 6, 10, 14, 38, 3998 등

간단한 방법이 있나요?

감사의 말.

감사합니다.

+1

당신이 우리에게 보여 어떤 코드가 있습니까 할 수 있을까? 당신이 시도하고 붙어있는 건 뭐니? –

+0

물어보고 싶은 것을 분명히 할 수 있습니까? 문장 "배열 매개 변수 개수 내에서 카운터 위치에있는 위치를 반환하고 싶습니다."는 나에게 이해가 가지 않습니다. –

답변

1
<?php 

function foo($position, array $array) 
{ 
    return $array[$position % count($array)]; 
} 

foreach ($array as $i => $whatever) { 
    $foo = foo($i, $whatever); 
} 

: 난 당신이 배열의 배열을 통해 반복하고 가정 및 함수에 있음을 전달하고있다. 그렇지 않은 경우, $ 대신에 전달해야하는 배열을 전달하십시오. 그냥 배열 반복이 기능을 사용하는 경우

+0

그래, 내가 그 사람이하고 싶어하는 걸 이해 했어. – Gordon

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 
}