回答編集履歴

2

加筆修正

2021/01/08 08:27

投稿

退会済みユーザー
test CHANGED
@@ -1,4 +1,12 @@
1
+ [PHP: fgetcsv - Manual](https://www.php.net/manual/ja/function.fgetcsv.php)
2
+
3
+ の説明:
4
+
5
+
6
+
1
- ファイルポインタから行を取得し、
7
+ > ファイルポインタから行を取得し、
8
+
9
+
2
10
 
3
11
  ってことなので、一行分しか読み込みませんよ。
4
12
 
@@ -8,10 +16,26 @@
8
16
 
9
17
  while (~~~)の~~~で書いているのは、
10
18
 
11
- まず先にfgetcsv()で読み込んで、その結果を評価する、という流れです。
19
+ まず先にfgetcsv()で読み込んでlineに結果を入れて、その結果を評価する、という流れです。
12
20
 
13
21
  fgetcsv()を省いてしまうと、whileループ内のどこかで別途
14
22
 
15
23
  fgetcsv()を書かないと次の行を読む処理がなくなり、
16
24
 
17
25
  そりゃぁ無限ループになりますよね、と。
26
+
27
+
28
+
29
+ それと。
30
+
31
+
32
+
33
+ > fgetcsv() は、無効な handle を受け取った場合に null を返します。 また、ファイルの終端に達した場合を含めたその他のエラー時には false を返します。
34
+
35
+
36
+
37
+ とのことなので、`== TRUE`と書くのはあまり良くない。
38
+
39
+ 無駄に型変換させてる。
40
+
41
+ `!== false` の方がマシかと。

1

加筆修正

2021/01/08 08:26

投稿

退会済みユーザー
test CHANGED
@@ -3,3 +3,15 @@
3
3
  ってことなので、一行分しか読み込みませんよ。
4
4
 
5
5
  次々と読み込むためにwhileループを組んでいるわけで。
6
+
7
+
8
+
9
+ while (~~~)の~~~で書いているのは、
10
+
11
+ まず先にfgetcsv()で読み込んで、その結果を評価する、という流れです。
12
+
13
+ fgetcsv()を省いてしまうと、whileループ内のどこかで別途
14
+
15
+ fgetcsv()を書かないと次の行を読む処理がなくなり、
16
+
17
+ そりゃぁ無限ループになりますよね、と。