回答編集履歴

3

質問に対する回答から記述するよう、文章の順番を変更

2017/03/30 08:53

投稿

KiyoshiMotoki
KiyoshiMotoki

スコア4791

test CHANGED
@@ -1,35 +1,3 @@
1
- `getNthWeekday`メソッドの使用方法に誤りがあります。
2
-
3
-
4
-
5
- ご提示のソースコードでは
6
-
7
- > $weekday = 2; // 月曜日
8
-
9
-
10
-
11
- を`getNthWeekday`メソッドの第4引数に渡していますが、
12
-
13
- 同メソッドのコメントには以下のように記述してあります。
14
-
15
- > 第4引数には曜日を0(日曜)から6(土曜)の数値で指定します。
16
-
17
-
18
-
19
- つまり、このメソッドに「月曜日」を指定したい場合、数値の 1 を第4引数に渡す必要があります。
20
-
21
-
22
-
23
- ---
24
-
25
- で、本題の
26
-
27
- > この+1とは何のためにあるのでしょうか?
28
-
29
-
30
-
31
- についてですが、
32
-
33
1
  ```php
34
2
 
35
3
  $firstDay = $weekday - $weekdayOfFirst + 1;
@@ -47,3 +15,29 @@
47
15
 
48
16
 
49
17
  第4引数に指定した曜日 (`$weekday`) と第1○曜日 (`$weekdayOfFirst`) が一致している場合、変数`$weekday`は「1日」であるべきなので`+ 1`している、というわけです。
18
+
19
+
20
+
21
+ ---
22
+
23
+ ちなみに、ご提示のソースコードでは`getNthWeekday`メソッドの使用方法に誤りがあります。
24
+
25
+
26
+
27
+ 海の日を求めるために
28
+
29
+ > $weekday = 2; // 月曜日
30
+
31
+
32
+
33
+ を`getNthWeekday`メソッドの第4引数に渡していますが、
34
+
35
+ 同メソッドのコメントには以下のように記述してあります。
36
+
37
+ > 第4引数には曜日を0(日曜)から6(土曜)の数値で指定します。
38
+
39
+
40
+
41
+ つまり、このメソッドに「月曜日」を指定したい場合、数値の 1 を第4引数に渡す必要があります。
42
+
43
+

2

回答を追記

2017/03/30 08:53

投稿

KiyoshiMotoki
KiyoshiMotoki

スコア4791

test CHANGED
@@ -17,3 +17,33 @@
17
17
 
18
18
 
19
19
  つまり、このメソッドに「月曜日」を指定したい場合、数値の 1 を第4引数に渡す必要があります。
20
+
21
+
22
+
23
+ ---
24
+
25
+ で、本題の
26
+
27
+ > この+1とは何のためにあるのでしょうか?
28
+
29
+
30
+
31
+ についてですが、
32
+
33
+ ```php
34
+
35
+ $firstDay = $weekday - $weekdayOfFirst + 1;
36
+
37
+ ```
38
+
39
+ 部分で変数`$weekday`と`$weekdayOfFirst`は、いずれも
40
+
41
+ > 0(日曜)から6(土曜)の数値
42
+
43
+
44
+
45
+ の値を取るからです。
46
+
47
+
48
+
49
+ 第4引数に指定した曜日 (`$weekday`) と第1○曜日 (`$weekdayOfFirst`) が一致している場合、変数`$weekday`は「1日」であるべきなので`+ 1`している、というわけです。

1

誤記を修正

2017/03/30 08:31

投稿

KiyoshiMotoki
KiyoshiMotoki

スコア4791

test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
 
10
10
 
11
- を`getNthWeekday`メソッドの第3引数に渡していますが、
11
+ を`getNthWeekday`メソッドの第4引数に渡していますが、
12
12
 
13
13
  同メソッドのコメントには以下のように記述してあります。
14
14
 
@@ -16,4 +16,4 @@
16
16
 
17
17
 
18
18
 
19
- つまり、このメソッドに「月曜日」を指定したい場合、数値の 1 を第3引数に渡す必要があります。
19
+ つまり、このメソッドに「月曜日」を指定したい場合、数値の 1 を第4引数に渡す必要があります。