3

我有两个 PHP 数组如下

数组 1 - 预算开始

Array
(
    [0] => 25000
    [1] => 30000
    [2] => 35000
    [3] => 15900
)

数组 2 - 预算结束

Array
(
    [0] => 40000
    [1] => 50000
    [2] => 60000
    [3] => 55000
)

我想过滤用户实际查找的预算范围。对于上面的预算范围,预算开始为 35000,预算结束为 40000。

预算开始是通过比较每个预算开始与其他预算开始来计算的,因此预算开始应该在预算开始和预算结束之间

预算开始 35000 因为

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

预算结束 40000 因为

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

有没有办法解决这个问题。

谢谢您的回复

4

1 回答 1

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;
?>
于 2013-02-05T05:27:48.943 回答