2014-04-03 2 views
0

을 얻는 방법, 방 수량을 반환하는 함수를 넣습니다. 각 $ sumqty [ 'room_qty']의 값이 다릅니다. 내 질문은 i입니다. $ sumqty [ 'room_qty']의 가장 높은 값을 얻길 원한다면 배열에 넣을까요? 방법? 어떤 도움을 주시면 감사하겠습니다.foreach 루프의 결과를 배열에 넣고이 foreach 루프에서 가장 높은 값인

<?php 
    foreach($reservation as $res){ 
    $sumqty = sumqty($res['arrival'],$res['departure'],$res['room_id']); 
    $sumqty['room_qty']; 
    } 

    $highest = ???; 
?> 

나는 $ 가장 높은

+0

실제 객실 수를 계산 하시겠습니까? – Progrower

+0

'max ($ array)'를 사용하여 배열에서 가장 높은 값을 얻을 수 있습니다. –

답변

0

예, 당신이 배열을 사용할 수있는 에코로 가장 높은 값을 표시합니다. 그 sumqty 가정

$allquantities=array(); 
foreach($reservation as $res){ 
    $sumqty = sumqty($res['arrival'],$res['departure'],$res['room_id']); 
    $allquantities[]=$sumqty['room_qty']; 
} 

$highest = max($allquantities); 
0

, '출발'과 '방 ID를'에 '도착'을 받아 일부 정수로 매핑 된 키 'room_qty'로 배열을 반환 : 제공 $sumqty['room_qty'] 다음은 작동 숫자 값입니다

<?php 
$highest = -1000000000; //some really, really small number 
foreach ($reservation as $res) { 
    $sumqty = sumqty($res['arrival'],$res['departure'],$res['room_id']); 
    if ($sumqty['room_qty'] > $highest) { 
     $highest = $sumqty['room_qty']; 
    } 
} 
echo $highest; 

더 높은 값을 찾을 때마다 이전에 가장 높은 값을 새로운 높은 값으로 바꿉니다.

이렇게하려면 추가로 배열을 만들 필요가 없습니다! 이 문제를 해결하기 위해 어레이를 사용하는 솔루션은 불필요하게 복잡합니다. (편집 : "복잡한"단어의 가난한 선택이며, 프로그램보다 약간의 효율성이있는 경우 여분의 배열이 사용됩니다)

0

이 경우와 마찬가지로 $sumqty['room_qty'], $room_qty[]의 모든 값의 배열을 가져옵니다.

일단 배열이 있으면 max() 함수를 사용하여 지정된 배열에서 최대 값을 찾을 수 있습니다. this manual을 통해 가면 분명해질 것입니다.