我试图从不同的范围中找到价值。
e.g。 我有一个值是5,现在我有不同的范围,如[0,100],[101-500]和[501-1000],所以我怎么能得出我的值5在[0,100]范围内使用php。
我尝试过in_array,但它只考虑一个范围,如下所示:
$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';
}
}
这里我只能拿一个范围,我需要检查那里的不同范围。我怎样才能做到这一点 ?范围值[0,100],[101,500]和[501,1000]是固定的。
答案 0 :(得分: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");
你需要什么?
答案 1 :(得分: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)
答案 2 :(得分: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;
}
}