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

質問編集履歴

2

中略致しました・・・

2021/07/07 16:40

投稿

ques346
ques346

スコア60

title CHANGED
File without changes
body CHANGED
@@ -11,26 +11,8 @@
11
11
  ```php
12
12
  <?php
13
13
 
14
- $file_name = "score.txt"; /*読込ファイルの指定*/
15
- $score2 = file( $file_name ); /*ファイルを全て配列に入れる*/
16
-
17
- for($i = 0 ; $i < count($score2); $i++){
18
- $score3[$i] = explode(",",$score2[$i]);
19
- }
20
-
21
- $name=d;
14
+ $file_name
22
-
23
- $sameno = array_search( $name, array_column( $score3, 0));
24
-
25
- unset($score3[$sameno]);
26
- file_put_contents("score.txt",$name.",".$time.",".$score.",".$souten.PHP_EOL,FILE_APPEND);
27
-
28
- for($i = 0 ; $i < count($log4); $i++){
29
- $log5[$i] = explode(",",$log4[$i]);
30
- array_push($log6,(int)$log5[$i][3]);
31
- }
15
+ 中略
32
-
33
- ?>
34
16
  ```
35
17
 
36
18
  等としても上手くいきません、key(インデックス番号?)は$samenoに取得できているのですが、
@@ -40,15 +22,7 @@
40
22
 
41
23
  ```php
42
24
  $a=file("score.txt");
43
- $name="d";
44
- /*$aをフィルタします
45
- 各要素($x)の左端が$nameである場合を除く
46
- (つまり左端がdの値を除く)
47
- */
48
- $a=array_filter($a,function($x) use($name){
49
- return strpos($x,$name)!==0;
50
- });
25
+ 中略
51
- file_put_contents("score.txt",$a.PHP_EOL,FILE_APPEND);
52
26
  ```
53
27
 
54
28
  このようにしましたが、どんどん増えていきます・・・なぜでしょう。

1

回答を受けたことを追記しました。

2021/07/07 16:40

投稿

ques346
ques346

スコア60

title CHANGED
File without changes
body CHANGED
@@ -34,4 +34,33 @@
34
34
  ```
35
35
 
36
36
  等としても上手くいきません、key(インデックス番号?)は$samenoに取得できているのですが、
37
- $samenoを削除できません、これは配列が二次元配列だからだと思うのですが、そうだとしてどうしたらいいんでしょうか。
37
+ $samenoを削除できません、これは配列が二次元配列だからだと思うのですが、そうだとしてどうしたらいいんでしょうか。
38
+
39
+ 回答を受けて、
40
+
41
+ ```php
42
+ $a=file("score.txt");
43
+ $name="d";
44
+ /*$aをフィルタします
45
+ 各要素($x)の左端が$nameである場合を除く
46
+ (つまり左端がdの値を除く)
47
+ */
48
+ $a=array_filter($a,function($x) use($name){
49
+ return strpos($x,$name)!==0;
50
+ });
51
+ file_put_contents("score.txt",$a.PHP_EOL,FILE_APPEND);
52
+ ```
53
+
54
+ このようにしましたが、どんどん増えていきます・・・なぜでしょう。
55
+
56
+ c,1,2,3
57
+ d,11,2,3
58
+ e,1,2,31
59
+ f,1,2,30
60
+ d,5,0,-5
61
+ Array
62
+ d,1,0,-1
63
+ Array
64
+ d,1,0,-1
65
+
66
+ となります。