回答編集履歴

3

見直し

2020/08/28 03:05

投稿

退会済みユーザー
test CHANGED
@@ -106,11 +106,11 @@
106
106
 
107
107
  $b = 6;
108
108
 
109
- echo substr($repeat_holiday, $b - 1, -1);
109
+ echo substr($repeat_holiday, $b - 1);
110
110
 
111
111
  ```
112
112
 
113
- > 615615615615
113
+ > 6156156156156
114
114
 
115
115
 
116
116
 

2

見直し

2020/08/28 03:05

投稿

退会済みユーザー
test CHANGED
@@ -85,3 +85,37 @@
85
85
  inputとoutputがはっきりしない仕様のままでは、
86
86
 
87
87
  なんの助言もできません。
88
+
89
+
90
+
91
+ ---
92
+
93
+
94
+
95
+ こういうこと?
96
+
97
+
98
+
99
+ ```php
100
+
101
+ <?php
102
+
103
+
104
+
105
+ $repeat_holiday = "156156156156156156";
106
+
107
+ $b = 6;
108
+
109
+ echo substr($repeat_holiday, $b - 1, -1);
110
+
111
+ ```
112
+
113
+ > 615615615615
114
+
115
+
116
+
117
+ phpでの文字位置の指定は、最も左の文字が0番目なので、
118
+
119
+ 6文字目から後ろがほしいのであれば、
120
+
121
+ 6-1にしないとおかしい。

1

加筆修正

2020/08/28 03:04

投稿

退会済みユーザー
test CHANGED
@@ -15,3 +15,73 @@
15
15
 
16
16
 
17
17
  どう考えても、順序を変えるような機能はないのですが。
18
+
19
+
20
+
21
+ ---
22
+
23
+
24
+
25
+ 再現のコードは、これでいいんだろうか?
26
+
27
+ しかし、これで何をやりたいのかさっぱりわからない。
28
+
29
+ ```php
30
+
31
+ <?php
32
+
33
+
34
+
35
+ $comon_holiday = [1,5,6];
36
+
37
+ $aa = 6;
38
+
39
+ $b = 6;
40
+
41
+ $ary_holiday = [];
42
+
43
+
44
+
45
+ //$comon_holidayは配列です。
46
+
47
+ if(isset($comon_holiday)){
48
+
49
+ // 配列から文字列へ改
50
+
51
+ $implode_holiday = implode($comon_holiday);
52
+
53
+ // 複数文字へリピート$aaはリピート回数(6)
54
+
55
+ $repeat_holiday = str_repeat($implode_holiday,$aa);
56
+
57
+ //文字列をソート $bは6を指定
58
+
59
+ $sort_holiday = substr($repeat_holiday , $b);
60
+
61
+ // 配列化
62
+
63
+ $ary_holiday = str_split($sort_holiday);
64
+
65
+ }
66
+
67
+
68
+
69
+ var_export($ary_holiday);
70
+
71
+
72
+
73
+ ```
74
+
75
+ 1,5,6はなにかの曜日番号だと察するとして、
76
+
77
+ わざわざ連結して、6回繰り返すことによって増やして、
78
+
79
+ それを`$b`によって先頭の6文字を切り落として、
80
+
81
+ いったい何をしたいのだろう?
82
+
83
+
84
+
85
+ inputとoutputがはっきりしない仕様のままでは、
86
+
87
+ なんの助言もできません。