2014-07-05 4 views
1

다른 범위의 값을 찾으려고합니다.검색 범위의 값

예컨대 하나의 값이 5이고 [0,100], [101-500], [501-1000]과 같은 다른 범위를 가지므로 내 값 5가 [0,100] PHP의 범위 내에 있음을 어떻게 결론 내릴 수 있습니까? 내가 하나의 범위를 취할 수

다음
$arr = array("5", "25", "100", "200", "500"); 
foreach($arr as $val){ 
$i = $val; // Dynamic value 
if (in_array($i, range(0,10))) { 
echo 'Your number is in between of range array'; 
} 
} 

, 내가 거기에 다른 범위를 확인해야합니다

나는와 in_array 시도했지만 그것은 단지 하나의 범위, 아래와 같이를 고려하고있다. 내가 어떻게 할 수 있니? 범위 값 [0,100], [101,500] 및 [501,1000]은 고정되어 있습니다.

+0

예,'in_array()'는 단일 범위 만 취합니다. 그래서 내부 루프를 작성해야합니다. –

답변

0

이 원하는 작업을 수행 할 수 있습니다.

$range[1] = array (0,101,501); 
$range[2] = array (100,500,1000); 
$testNumber=7; 
$count = count($range); 
for ($i = 0; $i <= $count; $i++) 
{ 
    if ($testNumber>=$range[1][$i]) 
    { 
     if ($testNumber<=$range[2][$i]) 
     { 
      echo $testNumber." is in range of [".$range[1][$i].' , '.$range[2][$i]."]"; 
      break; 
     } 
    } 
    else if($testNumber<$range[1][$i]) 
    { 
     echo "not found";break; 
    } 
} 
1
$rangeList = array("0-100","101-500","501-1000"); 

$testNo = 5; 

foreach($rangeList as $range){ 
    list($start,$end) = explode("-",$range); 
    if($testNo >= $start && $testNo <= $end) 
     die("Your number $testNo is in between of range [ $range ]"); 
} 
//out of range 
die("Your number $testNo is out of range"); 

+0

감사합니다.이 조건도 사용할 수 있습니다. 대단히 고마워요 :) –

1

이미 코드의 일부가 작성된 것 같습니다. 당신이 찾고자하는 다른 범위를 확인하는 if 문이 몇 가지 더 필요합니다. 보너스로, 이것은 또한 당신이보고있는 세 가지 범위에 해당하는 숫자를 출력합니다.

$arr = array("5", "25", "100", "200", "500"); 

foreach($arr as $val) { 
    $i = $val; // Dynamic value 
    if (in_array($i, range(0,100))) { 
     echo "Your number {$i} is in between of range array (0-100)\n"; 
    } 
    else if (in_array($i, range(101,500))) { 
     echo "Your number {$i} is in between of range array (101-500)\n"; 
    } 
    else if (in_array($i, range(501,1000))) { 
     echo "Your number {$i} is in between of range array (501-1000)\n"; 
    } 
} 

샘플 출력 :

Your number 5 is in between of range array (0-100) 
Your number 25 is in between of range array (0-100) 
Your number 100 is in between of range array (0-100) 
Your number 200 is in between of range array (101-500) 
Your number 500 is in between of range array (101-500) 
+0

대단히 감사합니다 :) 그것은 나를 많이 도움이됩니다. 귀하의 코드에 따라 나머지 조건을 설정했습니다. 다시 한번 감사드립니다 :) –