-3

我有一系列日期:从和到'sie:

array(
    [0] => array('from' => '19-01-2000' 'to' => '20-01-2000')
    [1] => array('from' => '20-01-2000' 'to' => '21-01-2000')
    [2] => array('from' => '21-01-2000' 'to' => '22-01-2000')
    [3] => array('from' => '23-01-2000' 'to' => '24-01-2000')
    [4] => array('from' => '24-01-2000' 'to' => '25-01-2000')
)

我正在尝试找到一种方法来转换创建一个只有日期范围的新数组,即:

array(
    [0] => array('from' => '19-01-2000' 'to' => '22-01-2000')
    [1] => array('from' => '23-01-2000' 'to' => '25-01-2000')
)

有什么建议么?

4

1 回答 1

1

我已经通过以下方式解决了它。

    $new_array = array();
    $j = 0;
    $i = 0;
    $flag = true;
    $range = false;
    while ($flag) {
        if ($array[$j+1] == null) {
            $flag = false;
        }
        if ($array[$j]['date_to'] == $array[$j+1]['date_from']) {
            if (!$range) {
                $new_array[$i] = $array[$j];
                $j++;
                $range = true;
            }
            else {
                $j++;
            }
        }
        else {
            if (!$range) {
                $new_array[$i] = $array[$j];
            }
            else {
                $new_array[$i]['date_to'] = $array[$j]['date_to'];
                $range = false; 
            }
            $i++;
            $j++;
        }
    }

$new_array 现在只包含日期范围。

于 2012-05-15T13:27:19.110 回答