2015-01-04 2 views
1

array에서 가장 높은 숫자를 얻으려고합니다. 그러나 그것을 얻지 못한다. 루프에서 for 루프를 사용하여 배열에서 가장 높은 숫자를 얻어야합니다.for 루프를 사용하여 배열에서 최상위 숫자 얻기

<?php 
$a =array(1, 44, 5, 6, 68, 9); 
$res=$a[0]; 
for($i=0; $i<=count($a); $i++){ 
    if($res>$a[$i]){ 
     $res=$a[$i]; 
    } 
} 
?> 

나는 위에서 설명한대로 for 루프를 사용해야합니다. 와트가 틀렸어?

+2

'$ res = max ($ a);'이 (가) 제대로 작동하지 않습니까? –

답변

2

:

<?php 

    $a = array(1, 44, 5, 6, 68, 9); 
    $res = 0; 

    foreach($a as $v) { 
     if($res < $v) 
      $res = $v; 
    } 

    echo $res; 

?> 

출력 : 방금 한 당신의 예에서

68 

잘못된 2 일 :

$a = array(1, 44, 5, 6, 68, 9); 
$res = $a[0]; 

for($i = 0; $i <= count($a); $i++) { 
       //^ equal is too much gives you an offset! 

     if($res > $a[$i]){ 
      //^ Wrong condition change it to < 
      $res=$a[$i]; 
     } 

} 

편집 : for 루프와

다음 max() 기능을 할 것입니다

$a = array(1, 44, 5, 6, 68, 9); 
$res = 0; 

for($count = 0; $count < count($a); $count++) { 

    if($res < $a[$count]) 
     $res = $a[$count]; 

} 
+0

감사합니다. 완료 됨 –

+0

@ pawankumar 환영합니다! 좋은 하루 보내십시오 : D – Rizier123

+1

다시 한번 감사드립니다. 그것은 좋은 대답 –

2

무엇에 대해 :

<?php 
    $res = max(array(1,44,5,6,68,9)); 

(docs)이 당신을 위해 작동합니다

0

당신이해야 할 일 :

$res = max($a); 

더 세부 사항 here.

+0

죄송합니다. 루프를 사용하고 있습니다 –

+0

죄송합니다. 나는 그 비트를 놓쳤다. – RCrowt

+0

아무 문제가 없습니다. 노력에 감사드립니다. –

1

만이

<?php $a =array(1,44,5,6,68,9); 
$res=$a[0]; 
for($i=0;$i<count($a);$i++){ 
    if($res<$a[$i]){ 
    $res=$a[$i]; 
    } 
} 
?> 

문제가 루프가 배열의 인덱스 후 이동하고 조건이 반전되어 있다는 것입니다해야하므로 계산 = $ 내가 <에서 =를 제거해야합니다.

관련 문제