Всем доброго времени суток.
Суть вопроса такова. Есть функция которая генерирует время на которое может записаться клиент.
$minutes = 60;
$divition = 2;
$part = $minutes / $divition;
$array_times = array();
for ($i=0; $i <= 23; $i++) {
for ($j=0; $j < 2; $j++) {
if ($j == 0) {
$array_times[] = $i . ":00";
}else{
$array_times[] = $i . ":" . $part * $j;
}
}
}
$array_working = array();
$array_busy_time = array();
$marker_write = false;
// Сравнение
foreach ($array_times as $key => $value) {
if (strcmp($value, $salon['begin_time']) == 0){
$marker_write = true;
}
if (strcmp($value, $salon['end_time']) == 0){
$marker_write = false;
$array_working[] = $value;
}
if ($marker_write) {
$array_working[] = $value;
}
}
На выходе получается массив.
После того как клиент записался на какое-то время оно удаляется из этого массива. Возвращает отдельно два массива с занятым временим и свободным и потом на js сравниваю массивы и удаляю занятое время из массива(так надо)
array_enroll_time - массив с занятым временем
foreach($enroll as $key2){
$temp = explode('-', $key2['time']);
foreach ($temp as $key) {
$array_enroll_time[] = $key;
}
// проверяем дату(день) на который была сделана запись и записываем время
if (strcmp($key2['date'], $request['date']) == 0){
$array_busy_time[] = $key2['time'];
}
}
$result = array_diff($array_working, $array_busy_time);
$date = $result;
В базе хранится в таком формате 12:30-13:00
Вроде все описал
Теперь вопрос, если в базе есть запись 12:30-13:00 то из массива со свободным временем удалит и 12:30 и 13:00 что впринцепе логично. Но мне нужно чтобы 13:00 осталось? Так как на это время клиент уже может записаться
Если же будет время записи таким 12:00-13:00. То мне нужно чтобы удалило 12:00, 12:30 и оставило 13:00
Надеюсь понятно объяснил))
Помогите а то что то не получается реализовать такое
использую laravel&vueJs