我有 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 关注
- 113 浏览
添加回答
举报
0/150
提交
取消