teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

改良

2019/03/07 07:28

投稿

cerfweb
cerfweb

スコア1907

answer CHANGED
@@ -5,29 +5,30 @@
5
5
  {
6
6
  $result = [];
7
7
 
8
- if ($booked)
8
+ foreach ($booked as $row)
9
9
  {
10
- foreach ($booked as $row)
10
+ if ($start < $row[0])
11
11
  {
12
+ $a = $start;
13
+
12
- if ($start < $row[0])
14
+ if ($row[0] < $end)
13
15
  {
14
- $a = $start;
15
-
16
- if ($row[0] < $end)
17
- {
18
- $b = $row[0];
16
+ $b = $row[0];
19
- }
20
- else
21
- {
22
- $b = $end;
23
- }
24
- $result[] = [$a, $b];
25
17
  }
26
-
18
+ else
19
+ {
20
+ $b = $end;
21
+ }
22
+ $result[] = [$a, $b];
23
+ }
24
+
25
+ if ($start < $row[1])
26
+ {
27
27
  $start = $row[1];
28
28
  }
29
29
  }
30
+
30
- else
31
+ if ($start < $end)
31
32
  {
32
33
  $result[] = [$start, $end];
33
34
  }
@@ -40,7 +41,8 @@
40
41
  '2019-03-01' => [ [1100, 1200], [1515, 1615], [1845, 1945] ],
41
42
  '2019-03-02' => [ [1000, 1100], [1115, 1145], [1500, 1630] ],
42
43
  '2019-03-03' => [ ],
43
- '2019-03-04' => [ [900, 1100], [1115, 1145], [1500, 1930] ]
44
+ '2019-03-04' => [ [900, 1100], [1115, 1145], [1500, 1930] ],
45
+ '2019-03-05' => [ [900, 1100], [1045, 1145], [1500, 1630], [1615, 1715] ]
44
46
  ];
45
47
 
46
48
  // $vacancies: 空き時間帯の配列