こんにちは、日付が入力された配列があります
Array
(
[0] => 2012-04-04
[1] => 2012-04-06
[2] => 2012-04-06
[3] => 2012-04-06
[4] => 2012-04-06
[5] => 2012-04-06
[6] => 2012-04-06
[7] => 2012-04-11
[8] => 2012-04-12
[9] => 2012-04-12
[10] => 2012-04-13
[11] => 2012-04-13
[12] => 2012-04-13
[13] => 2012-04-13
[14] => 2012-04-13
[15] => 2012-04-13
[16] => 2012-04-13
)
配列をループして、配列内で隣り合うアイテム間の日数の違いを見つけるにはどうすればよいでしょうか。たとえば、エコーアウトしたい
[0] と [1] の差は「2」日です [1] と [2] の差は「0」日です
:)
一番上の回答から出力を得ることができましたが、日付に違いがある場合にのみ表示したいです。
ただし、このifステートメントからの出力はありません-更新済み-
$count = count($datestack);
for ($i = 0; $i < $count - 1; $i++) {
$datetime1 = new DateTime($datestack[$i]);
$datetime2 = new DateTime($datestack[$i + 1]);
$interval = $datetime1->diff($datetime2);
if ($arr[$i] === $arr[$i+1]){
echo $interval->format('%R%a days');
}
}