2014-04-30 3 views
0

배열에서 3으로 나눌 수있는 모든 숫자를 균등하게 찾고 싶습니다. 물론PHP : for 루프를 사용하여 배열에서 3의 모든 제품 찾기

$array = array(1, 2, 3, 6, 8, 9, 14, 18, 20, 21); 

for ($i = min($array); $i <= max($array); $i++) 
{ 
    if ($i % 3 == 0) 
    { 
     echo $i; 
    echo "<br />"; 
    } 
} 

, 내가 $i++를 잘 작성하지 실현 : 여기에 지금까지 내 코드입니다. 이 방법은 단순히 내 배열 (1)에서 가장 낮은 값을 취하고 배열 (21)에서 가장 높은 값에 도달 할 때까지 1을 더합니다. 이렇게하면 배열에없는 9와 15 같은 숫자가됩니다.

내가 정말로해야할 일은 키 값 0에서 시작하여 키 값 9 (또는 10?)에서 끝나는 것입니다. 나는

$i = min(array_keys($array) + 1 

의 라인을 따라 무언가를했지만, 작동하지 않습니다.

나는 열쇠로 어떻게 증가합니까? 이 문제를 해결하려면 올바른 길을 가고 있습니까? foreach 루프를 사용할 수 있음을 이해하지만, 이는 나에게 마지막 제품만을 제공 할 것입니다. 어쩌면 while 루프가 작동할까요?

는 다음과 같은 시도 할 수 있습니다
+1

왜 증가합니까? 배열을 반복하면됩니다. http://www.php.net/manual/en/control-structures.foreach.php –

답변

3

:

foreach ($array as $value){ 
    if ($value % 3 == 0){ 
     echo $value; 
     echo "<br />"; 
    } 
} 
+1

간단하고 쉽습니다! – bodruk

+2

이것은 제가 찾고 있던 것입니다. 어떤 이유로 든 foreach 루프를 작성했을 때 모든 것이 아닌 마지막 값만 반환합니다. 이전 코드를 비교해야합니다. 감사! –

+0

@ amofo : 도와 줘서 고맙습니다! 답변으로 표시하십시오. – potashin

0

어떤 배열의 길이를 얻을 반복하기 위해 사용 count($array) 어떻습니까?

for($i = 0; $i < count($array); $i++){ 
    if($array[ $i ] % 3 == 0){ 
     /* do something */ 
    } 
} 
관련 문제