I am comparing 2 arrays but after applying array_diff it returns the result in the object form. Have a look at the below code and result
<?php
$schedule = ['Monday'=>['12:00','01:20'],'Tuesday'=>['04:00','12:00','20:00']];
$booked_slots = ['Monday'=>['12:00'],'Tuesday'=>['20:00']];
$diff = [];
foreach ($schedule as $day => $times) {
$day_wise_slots = isset($booked_slots[$day]) ? $booked_slots[$day] : [];
$diff[$day] = array_diff($times, $day_wise_slots);
}
echo json_encode($diff);
?>
Result : {"Monday":{"1":"01:20"},"Tuesday":["04:00","12:00"]}
Desired Output: {"Monday":["01:20"],"Tuesday":["04:00","12:00"]}
array_values()on the result ofarray_diff().