2013-02-05 1 views
3

에 예산 범위 정렬 사용자가 실제로 찾고있는 예산 범위. 위의 예산 범위는 35000 예산 시작의 경우와 40000 예산 끝의 경우입니다.배열 배열 1 <p></p> 아래로 나는 두 PHP 배열을 PHP

예산 시작 시작 35000 예산 시작 및 예산 끝

예산 사이에 있기 때문에

25000 <= 35000 < 40000 
30000 <= 35000 < 50000 
35000 <= 35000 < 60000 
15900 <= 35000 < 55000 

예산 끝 40000해야한다 있도록 예산 시작은 다른 모든 예산의 시작과 함께 모든 예산의 시작을 비교하여 계산한다 because

25000 < 40000 <= 40000 
30000 < 40000 <= 50000 
35000 < 40000 <= 60000 
15900 < 40000 <= 55000 

이 문제를 해결할 수있는 방법이 있습니까? 답글

+0

에 대한

덕분에 난 당신이 뭘 하려는지 완전히 명확하지 않다. 각 쌍 사이에 가장 작은 시작 및 끝 값을 원하십니까? 이 경우 응답은 무엇이되어야합니까? 70000 + 90000을 무시해야합니까? 아니면 정답이 없어야합니까? – FoolishSeth

+1

예 위의 경우에 70000과 90000을 무시해야합니다. – ArrayOutOfBound

+0

그러면 무시해야한다는 것을 어떻게 알 수 있습니까? 한 번에 이들 중 대부분을 만족시킬 수있는 답변을 원하십니까? 만약 그들이 모두 (400006000080000), (500007000090000)처럼 떨어져 있다면 어떨까요? – FoolishSeth

답변

1
<?php 
$start = Array(25000,30000,35000,15900); 

$end = Array(40000,50000,60000,55000); 


foreach($start as $val){ 
    $cnt = 0; 
    for($i=0;$i<count($start); $i++){ 
     if($start[$i] <= $val && $val < $end[$i]){ 
      $cnt++; 
     } 
     if($cnt == count($start)){ 
      $start_budget = $val; 
     } 
    } 
} 

foreach($end as $val){ 
    $cnt = 0; 
    for($i=0;$i<count($end); $i++){ 
     if($start[$i] < $val && $val <= $end[$i]){ 
      $cnt++; 
     } 
     if($cnt == count($end)){ 
      $end_budget = $val; 
     } 
    } 
} 

echo $start_budget; 
echo "<br>"; 
echo $end_budget; 
?> 
+0

Soo Much – ArrayOutOfBound

+0

@ArrayOutOfBound 감사합니다 :) –