我有一系列日期:从和到。 即:
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')
)
有什么建议吗?
答案 0 :(得分: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现在只包含日期范围。