質問編集履歴
4
中略致しました・・・
test
CHANGED
File without changes
|
test
CHANGED
@@ -12,47 +12,11 @@
|
|
12
12
|
|
13
13
|
```php
|
14
14
|
|
15
|
-
$file_name
|
15
|
+
$file_name
|
16
16
|
|
17
|
-
|
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)
|
37
|
+
string(1) 中略
|
38
|
+
|
39
|
+
} int(1)
|
74
40
|
|
75
41
|
|
76
42
|
|
3
具体的に追記しました、不足があればまたお伝えください。
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
|
-
$log
|
61
|
+
$log6は今は使いません。
|
54
62
|
|
55
|
-
$nameにはaが入っており、$nameと同じ値を各行の一列目(a,1,2,2とあれば、一番左)から見つけ出し、そ
|
63
|
+
$nameにはaが入っており、$nameと同じ値を各行の一列目(a,1,2,2とあれば、一番左)から見つけ出し、その行を上書きするプログラムなのですが、上手く動きません、なぜでしょう。
|
56
64
|
|
57
|
-
|
65
|
+
a,1,2,2の、1,2,2の部分のみが、上書きされるようにしたい、数字はそのたびに3,0,-3等に変わる。
|
58
|
-
|
59
|
-
ただエラーも出ていません。
|
60
66
|
|
61
67
|
|
62
68
|
|
2
具体的に追記しました、お願いします。
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
score.txt
|
2
2
|
|
3
3
|
|
4
4
|
|
@@ -12,25 +12,39 @@
|
|
12
12
|
|
13
13
|
```php
|
14
14
|
|
15
|
-
$
|
15
|
+
for($i = 0 ; $i < count($score2); $i++){
|
16
16
|
|
17
|
-
|
18
|
-
|
19
|
-
for($i = 0 ; $i < count($log4); $i++){
|
20
|
-
|
21
|
-
$
|
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($
|
29
|
+
unset($score3[$sameno]);
|
30
30
|
|
31
|
-
file_put_contents("
|
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
追記致しました・・・。
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($log
|
29
|
+
unset($log5[$sameno]);
|
22
30
|
|
23
|
-
file_put_contents("a.txt", $log
|
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
|
+
になってしまいました・・・。
|