我正在嘗試建立一個非常基本的每日預訂系統,需要返回一個範圍內的所有日期,然後從該範圍中刪除選定的日期。我嘗試了以下程式碼,但意識到這會刪除重複項,這很好,但我也需要刪除該日期。
誰能提出一個好的方法來做到這一點?
在下面的範例中,我只是希望看到:
2022-04-03T00:00:00.000000Z
2022-04-04T00:00:00.000000Z
2022-04-05T00:00:00.000000Z
$start_date = "2022-04-01"; $end_date = "2022-04-05"; $datesToRemove = [ '2022-04-01T00:00:00.000000Z', '2022-04-02T00:00:00.000000Z' ]; $range = Carbon::parse($start_date)->toPeriod($end_date)->toArray(); $available = array_unique(array_merge($range, $datesToRemove)); return $available;
要進行比較,比較值必須有相同的格式。我決定將 $datesToRemove 轉換為 Carbon 格式。您可以使用巢狀循環並使用 PHP
in_array()
函數進行檢查。輸出
意味著