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

回答編集履歴

2

修正

2019/04/08 03:49

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -11,4 +11,57 @@
11
11
  [japanese-holiday](https://packagist.org/packages/japanese-holiday/japanese-holiday)というプラグインが有用です。
12
12
  ※composer必須、あと未来の年の祝日データ更新が年末ですのでcomposer updateの必要あり
13
13
 
14
- 会社所定の休日などであればこの限りではありませんが。
14
+ 会社所定の休日などであればこの限りではありませんが。
15
+
16
+ 追記:
17
+ インデントがかなりおかしいのでそこをきちんとキレイにそろえる必要があるのと、提示コードのそのままだと構文エラーもあります。
18
+ [エラー表示ON](https://qiita.com/shotets/items/3c95aef631b2c5eadae5)にしてますか?(構文チェックを自動で行ってくれるIDE導入を強くすすめます)
19
+
20
+ 構文エラー箇所(あくまで一例):
21
+ `echo '<tr><td style="'.$style.'">.$line."</td>"`
22
+ 最後に;がないですしクォーテーションの組が抜けてたり合ってなかったり。
23
+
24
+ というのを一通り回避して提示されてない変数の未定義回避補完もした
25
+ ```php
26
+ <?php
27
+ //未定義回避のため勝手に補完したコードstart
28
+ $next_month = date('m',strtotime('+1 month'));
29
+ $now_year = date('Y');
30
+ $countdate = date('t',strtotime('+1 month'));
31
+ $weekday = [0=>'日',1=>'月',2=>'火',3=>'水',4=>'木',5=>'金',6=>'土'];
32
+ //未定義回避のため勝手に補完したコードend
33
+
34
+ $hori = [1, 2, 3, 4, 5];
35
+ for ($day = 1; $day <= $countdate; $day++)
36
+ {
37
+ $w = date("w", mktime(0, 0, 0, $next_month, $day, $now_year));
38
+
39
+ // スタイルシートの値設定ここから-----------------------------------
40
+
41
+ if (in_array($day, (array)$hori, true))
42
+ {
43
+ $style = "color:#C30;";
44
+ }
45
+
46
+ switch ($w)
47
+ {
48
+ case 0: //日曜日の文字色
49
+ $style = "color:#C30;";
50
+ break;
51
+
52
+ case 6: //土曜日の文字色
53
+ $style = "color:#03C;";
54
+ break;
55
+
56
+ default: //月~金曜日の文字色
57
+ $style = "color:#333;";
58
+ }
59
+
60
+ // スタイルシートの値設定ここまで-----------------------------------
61
+
62
+ $line = $day."日(" . $weekday[$w] . ")";
63
+ echo '<td style="'. $style .'">'.$line.'</td>'.PHP_EOL;
64
+ }
65
+
66
+
67
+ ```

1

修正

2019/04/08 03:49

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -1,6 +1,10 @@
1
1
  「対象の配列に該当の情報が含まれるか」なら[in_array()](https://www.php.net/manual/ja/function.in-array.php)です。
2
2
  - [in_arrayを使うときは黙って第三引数を付けること](https://qiita.com/ritukiii/items/3a6add378ae089ab5d70)
3
3
 
4
+ > $horiに該当する日付を色を変えたいです。
5
+
6
+ あとは該当する日付に対してCSSで色指定するだけです。
7
+
4
8
  ----
5
9
 
6
10
  ただ、もし「$hori」に該当するものが「日本の祝日」なのであれば