我有 2 個兩個數組$schedule = [ "Monday" => [0 => "12:00", 1 => "01:20"], "Tuesday" => [0 => "04:20",1 => "12:00"],];$bookedSlots = [ ["Monday" => "01:20"], ["Tuesday" => "04:20" ] ];現在我想要答案或結果返回剩余可用時段的數組,其中應從計劃中刪除預訂的時段。就像下面給出的結果。$availableSlots = $schedule - $bookedSlots; // [ "Monday" => [ 0 => "12:00"], "Tuesday" =>[ 0 => "12:00" ];
1 回答

開滿天機
TA貢獻1786條經驗 獲得超13個贊
好的。所以在這里我寫了一個輔助函數來概括解決方案。您可以使用下面提到的功能。
function find_diff($schedule, $booked_slots)
{
? $diff = [];
? foreach ($schedule as $day =>? $times) {
? ? $day_wise_slots = isset($booked_slots[$day]) ? $booked_slots[$day] : [];
? ? if (!is_array($day_wise_slots)) $day_wise_slots = [$day_wise_slots];
? ? $diff[$day] = array_diff($times, $day_wise_slots);
? }
? return $diff;
}
使用的函數:isset和array_diff。
- 1 回答
- 0 關注
- 126 瀏覽
添加回答
舉報
0/150
提交
取消