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

回答編集履歴

3

見直し

2020/08/28 03:05

投稿

退会済みユーザー
answer CHANGED
@@ -52,9 +52,9 @@
52
52
 
53
53
  $repeat_holiday = "156156156156156156";
54
54
  $b = 6;
55
- echo substr($repeat_holiday, $b - 1, -1);
55
+ echo substr($repeat_holiday, $b - 1);
56
56
  ```
57
- > 615615615615
57
+ > 6156156156156
58
58
 
59
59
  phpでの文字位置の指定は、最も左の文字が0番目なので、
60
60
  6文字目から後ろがほしいのであれば、

2

見直し

2020/08/28 03:05

投稿

退会済みユーザー
answer CHANGED
@@ -41,4 +41,21 @@
41
41
  いったい何をしたいのだろう?
42
42
 
43
43
  inputとoutputがはっきりしない仕様のままでは、
44
- なんの助言もできません。
44
+ なんの助言もできません。
45
+
46
+ ---
47
+
48
+ こういうこと?
49
+
50
+ ```php
51
+ <?php
52
+
53
+ $repeat_holiday = "156156156156156156";
54
+ $b = 6;
55
+ echo substr($repeat_holiday, $b - 1, -1);
56
+ ```
57
+ > 615615615615
58
+
59
+ phpでの文字位置の指定は、最も左の文字が0番目なので、
60
+ 6文字目から後ろがほしいのであれば、
61
+ 6-1にしないとおかしい。

1

加筆修正

2020/08/28 03:04

投稿

退会済みユーザー
answer CHANGED
@@ -6,4 +6,39 @@
6
6
 
7
7
  > substr — 文字列の一部分を返す
8
8
 
9
- どう考えても、順序を変えるような機能はないのですが。
9
+ どう考えても、順序を変えるような機能はないのですが。
10
+
11
+ ---
12
+
13
+ 再現のコードは、これでいいんだろうか?
14
+ しかし、これで何をやりたいのかさっぱりわからない。
15
+ ```php
16
+ <?php
17
+
18
+ $comon_holiday = [1,5,6];
19
+ $aa = 6;
20
+ $b = 6;
21
+ $ary_holiday = [];
22
+
23
+ //$comon_holidayは配列です。
24
+ if(isset($comon_holiday)){
25
+ // 配列から文字列へ改
26
+ $implode_holiday = implode($comon_holiday);
27
+ // 複数文字へリピート$aaはリピート回数(6)
28
+ $repeat_holiday = str_repeat($implode_holiday,$aa);
29
+ //文字列をソート $bは6を指定
30
+ $sort_holiday = substr($repeat_holiday , $b);
31
+ // 配列化
32
+ $ary_holiday = str_split($sort_holiday);
33
+ }
34
+
35
+ var_export($ary_holiday);
36
+
37
+ ```
38
+ 1,5,6はなにかの曜日番号だと察するとして、
39
+ わざわざ連結して、6回繰り返すことによって増やして、
40
+ それを`$b`によって先頭の6文字を切り落として、
41
+ いったい何をしたいのだろう?
42
+
43
+ inputとoutputがはっきりしない仕様のままでは、
44
+ なんの助言もできません。