質問編集履歴

4

中略致しました・・・

2021/07/07 16:41

投稿

ques346
ques346

スコア47

test CHANGED
File without changes
test CHANGED
@@ -12,47 +12,11 @@
12
12
 
13
13
  ```php
14
14
 
15
- $file_name = "score.txt"; /*読込ファイルの指定*/
15
+ $file_name
16
16
 
17
- $score2 = file( $file_name ); /*ファイルを全て配列に入れる*/
17
+ 中略
18
18
 
19
- $log6 = array();
20
-
21
-
22
-
23
- for($i = 0 ; $i < count($score2); $i++){
24
-
25
- $score3[$i] = explode(",",$score2[$i]);
26
-
27
- }
19
+ );
28
-
29
-
30
-
31
- $sameno = array_search( $name, array_column( $score3, 0));
32
-
33
-
34
-
35
- if ($sameno != false){
36
-
37
- unset($score3[$sameno]);
38
-
39
- file_put_contents("score.txt", $score3);
40
-
41
- }
42
-
43
-
44
-
45
- var_dump($name);
46
-
47
- var_dump($score2);
48
-
49
- var_dump($score3);
50
-
51
- var_dump($sameno);
52
-
53
-
54
-
55
- file_put_contents("score.txt",$name.",".$time.",".$score.",".$souten.PHP_EOL,FILE_APPEND);
56
20
 
57
21
  ```
58
22
 
@@ -70,7 +34,9 @@
70
34
 
71
35
 
72
36
 
73
- string(1) "b" array(3) { [0]=> string(8) "a,1,2,2 " [1]=> string(8) "b,1,2,2 " [2]=> string(8) "c,1,2,2 " } array(2) { [0]=> array(4) { [0]=> string(1) "a" [1]=> string(1) "1" [2]=> string(1) "2" [3]=> string(2) "2 " } [2]=> array(4) { [0]=> string(1) "c" [1]=> string(1) "1" [2]=> string(1) "2" [3]=> string(2) "2 " } } int(1)
37
+ string(1) 中略
38
+
39
+ } int(1)
74
40
 
75
41
 
76
42
 

3

具体的に追記しました、不足があればまたお伝えください。

2021/07/07 16:41

投稿

ques346
ques346

スコア47

test CHANGED
File without changes
test CHANGED
@@ -11,6 +11,14 @@
11
11
 
12
12
 
13
13
  ```php
14
+
15
+ $file_name = "score.txt"; /*読込ファイルの指定*/
16
+
17
+ $score2 = file( $file_name ); /*ファイルを全て配列に入れる*/
18
+
19
+ $log6 = array();
20
+
21
+
14
22
 
15
23
  for($i = 0 ; $i < count($score2); $i++){
16
24
 
@@ -50,13 +58,11 @@
50
58
 
51
59
 
52
60
 
53
- $log4にa.txtをfileしたデータが入ってるとしす、その後でlog5を、log4を,で区切った二次元配列としています
61
+ $log6今は使いません
54
62
 
55
- $nameにはaが入っており、$nameと同じ値を各行の一列目(a,1,2,2とあれば、一番左)から見つけ出し、そ削除するプログラムなのですが、上手く動きません、なぜでしょう。
63
+ $nameにはaが入っており、$nameと同じ値を各行の一列目(a,1,2,2とあれば、一番左)から見つけ出し、その行上書きするプログラムなのですが、上手く動きません、なぜでしょう。
56
64
 
57
- 例えば、$name=aaをはじめに含む1行目が削除されるはずなですが、削除されません
65
+ a,1,2,2の、1,2,2部分のみが、上書きされるようにしたい、数字はそのたびに3,0,-3等に変わる。
58
-
59
- ただエラーも出ていません。
60
66
 
61
67
 
62
68
 

2

具体的に追記しました、お願いします。

2021/06/17 02:42

投稿

ques346
ques346

スコア47

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- a.txt
1
+ score.txt
2
2
 
3
3
 
4
4
 
@@ -12,25 +12,39 @@
12
12
 
13
13
  ```php
14
14
 
15
- $sameno = array_search( $name, array_column( $log4, 0));
15
+ for($i = 0 ; $i < count($score2); $i++){
16
16
 
17
-
18
-
19
- for($i = 0 ; $i < count($log4); $i++){
20
-
21
- $log5[$i] = explode(",",$log4[$i]);
17
+ $score3[$i] = explode(",",$score2[$i]);
22
18
 
23
19
  }
24
20
 
25
21
 
26
22
 
23
+ $sameno = array_search( $name, array_column( $score3, 0));
24
+
25
+
26
+
27
27
  if ($sameno != false){
28
28
 
29
- unset($log5[$sameno]);
29
+ unset($score3[$sameno]);
30
30
 
31
- file_put_contents("a.txt", $log5);
31
+ file_put_contents("score.txt", $score3);
32
32
 
33
33
  }
34
+
35
+
36
+
37
+ var_dump($name);
38
+
39
+ var_dump($score2);
40
+
41
+ var_dump($score3);
42
+
43
+ var_dump($sameno);
44
+
45
+
46
+
47
+ file_put_contents("score.txt",$name.",".$time.",".$score.",".$souten.PHP_EOL,FILE_APPEND);
34
48
 
35
49
  ```
36
50
 
@@ -38,14 +52,30 @@
38
52
 
39
53
  $log4にはa.txtをfileしたデータが入っているとします、その後でlog5を、log4を,で区切った二次元配列としています。
40
54
 
41
- $nameと同じ値を見つけ出し、それを削除するプログラムなのですが、上手く動きません、なぜでしょう。
55
+ $nameにはaが入っており、$nameと同じ値を各行の一列目(a,1,2,2とあれば、一番左)から見つけ出し、それを削除するプログラムなのですが、上手く動きません、なぜでしょう。
42
56
 
43
57
  例えば、$name=aの時、aをはじめに含む1行目が削除されるはずなのですが、削除されていません、
44
58
 
45
59
  ただエラーも出ていません。
46
60
 
47
- 具体的には、
48
61
 
49
- ArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArray
50
62
 
51
- になってしまいました・・・
63
+ 以下、出力結果です
64
+
65
+
66
+
67
+ string(1) "b" array(3) { [0]=> string(8) "a,1,2,2 " [1]=> string(8) "b,1,2,2 " [2]=> string(8) "c,1,2,2 " } array(2) { [0]=> array(4) { [0]=> string(1) "a" [1]=> string(1) "1" [2]=> string(1) "2" [3]=> string(2) "2 " } [2]=> array(4) { [0]=> string(1) "c" [1]=> string(1) "1" [2]=> string(1) "2" [3]=> string(2) "2 " } } int(1)
68
+
69
+
70
+
71
+ 出力後のa.txt
72
+
73
+
74
+
75
+ a.txt
76
+
77
+ ArrayArrayb,3,0,-3
78
+
79
+
80
+
81
+ これのみになりました。

1

追記致しました・・・。

2021/06/17 02:39

投稿

ques346
ques346

スコア47

test CHANGED
File without changes
test CHANGED
@@ -16,11 +16,19 @@
16
16
 
17
17
 
18
18
 
19
+ for($i = 0 ; $i < count($log4); $i++){
20
+
21
+ $log5[$i] = explode(",",$log4[$i]);
22
+
23
+ }
24
+
25
+
26
+
19
27
  if ($sameno != false){
20
28
 
21
- unset($log4[$sameno]);
29
+ unset($log5[$sameno]);
22
30
 
23
- file_put_contents("a.txt", $log4);
31
+ file_put_contents("a.txt", $log5);
24
32
 
25
33
  }
26
34
 
@@ -28,10 +36,16 @@
28
36
 
29
37
 
30
38
 
31
- $log4にはa.txtをfileしたデータが入っているとします。
39
+ $log4にはa.txtをfileしたデータが入っているとします、その後でlog5を、log4を,で区切った二次元配列としています
32
40
 
33
41
  $nameと同じ値を見つけ出し、それを削除するプログラムなのですが、上手く動きません、なぜでしょう。
34
42
 
35
43
  例えば、$name=aの時、aをはじめに含む1行目が削除されるはずなのですが、削除されていません、
36
44
 
37
45
  ただエラーも出ていません。
46
+
47
+ 具体的には、
48
+
49
+ ArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArray
50
+
51
+ になってしまいました・・・。