[英]split up an array of dates into consecutive date arrays
我有一系列日期,看起來像這樣:
Array (
[0] => 08/20/2013
[1] => 08/21/2013
[2] => 08/22/2013
[3] => 08/23/2013
[4] => 08/26/2013
)
它總是會有所不同,具體取決於用戶選擇的日期,例如讓我們使用這個。
我需要做的是找出一種方法將數組分成連續日期和非連續日期。
所以最后我應該有類似的東西:
Array (
[0] => 08/20/2013
[1] => 08/21/2013
[2] => 08/22/2013
[3] => 08/23/2013
)
Array ([4] => 08/26/2013)
我應該指定它不僅僅是兩個數組。 非連續日期每個都有自己的數組,連續日期各自都在自己的數組中。
使用$arr
表示你的數組:
usort($arr, function ($a, $b){
return strtotime($a) - strtotime($b);
});
$out = array();
$last = 0;
$dex = -1;
foreach ($arr as $key => $value){
$current = strtotime($value);
if ($current - $last > 86400) $dex++;
$out[$dex][] = $value;
$last = $current;
}
print_r($out);
輸出:
Array
(
[0] => Array
(
[0] => 08/20/2013
[1] => 08/21/2013
[2] => 08/22/2013
[3] => 08/23/2013
)
[1] => Array
(
[0] => 08/26/2013
)
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.