質問のタイトルが不明確な場合は申し訳ありませんが、より正確に要約できませんでした。
これが問題です:
まず、次の形式の配列があります。
Array (
[0] => 09:00
[1] => 10:00
[2] => 11:00
[3] => 12:00
[4] => 13:00
[5] => 14:00
[6] => 15:00
[7] => 16:00
[8] => 17:00
[9] => 18:00
)
次に、一部のメンバーが設定解除されるため、その後は次のようなものが残ります。
Array (
[0] => 09:00
[1] => 10:00
[6] => 15:00
[7] => 16:00
[8] => 17:00
[9] => 18:00
)
ご覧のとおり、配列はタイムスロットを表しています。ここで、3 時間より短い時間枠をすべて削除する必要があります。そのため、配列を調べて、元の配列のメンバーが 3 つ未満の場合は、それらも削除する必要があります。上記の例では、09:00 と 10:00 の後に 11:00 が続いていないため、それらを取り出して次のように残す必要があります。
Array (
[6] => 15:00
[7] => 16:00
[8] => 17:00
[9] => 18:00
)
どうすればこれを達成できますか? 論理的には、実際の時間を確認するよりも、3 つの連続するインデックスを確認する方が簡単だと思いますが、どんな提案も受け付けています。