PHP中预算范围的数组排序

时间:2013-02-05 04:46:20

标签: php arrays logic

我有两个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

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

感谢回复

1 个答案:

答案 0 :(得分: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;
?>