質問編集履歴
3
追加で判明したことを追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -85,4 +85,39 @@
|
|
85
85
|
3行目 : 300とちり|1000,ccc,.....
|
86
86
|
4行目 : "4,000ぬるを|200",ddd,.....
|
87
87
|
|
88
|
+
```
|
89
|
+
|
90
|
+
#追加で判明したこと
|
91
|
+
試しに、A列の前に一列足してみたところ、2番目の行データからカンマが含まれているとforeach内の$row[0]内でダブルクォーテーションで囲まれることがわかりました。
|
92
|
+
先頭行の場合は、カンマが含まれていてもダブルクォテーションでは囲まれませんでした。
|
93
|
+
|
94
|
+
一方、テキストエディタで読み込んだ場合は、先頭行かどうかに関わらず、カンマがあるデータはダブルクォテーションで囲まれていました。
|
95
|
+
|
96
|
+
####先頭行のセルデータにカンマがある場合
|
97
|
+
```php
|
98
|
+
|
99
|
+
foreach ($objFile as $row){
|
100
|
+
var_dump($row);
|
101
|
+
exit();
|
102
|
+
/* $row[0]に1行分のデータがカンマ区切りで格納されている状態です。
|
103
|
+
* array(1) {
|
104
|
+
* [0] => string(xxx) "1,000いろは|12000,aaa,....."
|
105
|
+
* }
|
106
|
+
*/
|
107
|
+
}
|
108
|
+
|
109
|
+
```
|
110
|
+
|
111
|
+
先頭行以外のセルデータ内にカンマがある場合
|
112
|
+
```php
|
113
|
+
|
114
|
+
foreach ($objFile as $row){
|
115
|
+
var_dump($row);
|
116
|
+
exit();
|
117
|
+
/* 1,000いろは|12000がダブルクォーテーションで囲まれている。
|
118
|
+
* array(1) {
|
119
|
+
* [0] => string(xxx) "100番目,"1,000いろは|12000",aaa,....."
|
120
|
+
* }
|
121
|
+
*/
|
122
|
+
}
|
88
123
|
```
|
2
csvデータをテキストエディタで読み込んだ場合の表示を追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -72,4 +72,17 @@
|
|
72
72
|
* }
|
73
73
|
*/
|
74
74
|
}
|
75
|
+
```
|
76
|
+
|
77
|
+
---
|
78
|
+
###csvデータをテキストエディタで読み込んだ場合
|
79
|
+
|
80
|
+
```csv
|
81
|
+
//カンマが入っているセルデータにはダブルクォテーションが入っていました。
|
82
|
+
|
83
|
+
1行目 : "1,000いろは|12000",aaa,.....
|
84
|
+
2行目 : 2000にほへ|100,bbb,......
|
85
|
+
3行目 : 300とちり|1000,ccc,.....
|
86
|
+
4行目 : "4,000ぬるを|200",ddd,.....
|
87
|
+
|
75
88
|
```
|
1
$row[0]のデータを追記しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -64,6 +64,12 @@
|
|
64
64
|
$list = [];
|
65
65
|
foreach ($objFile as $row){
|
66
66
|
//Aセル内のカンマを削除したものを$listに格納したい
|
67
|
-
|
67
|
+
var_dump($row);
|
68
|
+
exit();
|
69
|
+
/* $row[0]に1行分のデータがカンマ区切りで格納されている状態です。
|
70
|
+
* array(1) {
|
71
|
+
* [0] => string(xxx) "1,000いろは|12000,aaa,....."
|
72
|
+
* }
|
73
|
+
*/
|
68
74
|
}
|
69
75
|
```
|