回答編集履歴

1

配列検索部追加

2017/08/28 10:13

投稿

退会済みユーザー
test CHANGED
@@ -27,3 +27,63 @@
27
27
  }
28
28
 
29
29
  ```
30
+
31
+
32
+
33
+ あと配列の検索も違うのでこんな感じでどうでしょう?
34
+
35
+ ```php
36
+
37
+ $news = fopen("news.txt", "r"); //ニュースファイルを開く
38
+
39
+ $keywords = fopen("keywords.txt", "r"); //キーワードファイルを開く
40
+
41
+
42
+
43
+ // ニュースファイルを配列にする
44
+
45
+ $open_news = [];
46
+
47
+ while (!feof($news)) {
48
+
49
+ $open_news[] = fgets($news);
50
+
51
+ }
52
+
53
+
54
+
55
+ // キーワードファイルを配列にする
56
+
57
+ $arr_keywords = [];
58
+
59
+ while (!feof($keywords)) {
60
+
61
+ $arr_keywords[] = fgets($keywords);
62
+
63
+ }
64
+
65
+
66
+
67
+ $count = count($arr_keywords); //キーワードの件数(配列の項目数)を取得する。ただ、ここでprint_r($count);を実行すると、「1」と表示されてしまう。
68
+
69
+
70
+
71
+ //配列にしたキーワードを元に、ニュースファイルを1行目からチェックし、合致した行を表示する。ただし、これを実行しても結果は画面が空白になる。
72
+
73
+ for ($i = 0 ; $i < $count; $i++) {
74
+
75
+ if ($x = preg_grep("/^" . $arr_keywords[$i] . "/", $open_news)) {
76
+
77
+ echo $x;
78
+
79
+ }
80
+
81
+ }
82
+
83
+
84
+
85
+ fclose($news); //ニュースファイルを閉じる
86
+
87
+ fclose($keywords); //キーワードファイルを閉じる
88
+
89
+ ```