我想解析PHP中的CSV文件並使用這些值,但是我的代碼僅從CSV文件的第一行返回數據。PHP解析CSV僅返回第一行
的CSV文件看起來像這樣
C, QXM0039326, , X6, 2288314208
C, QXP0039226, 7021130, X6, 100013427
的PHP是這樣的:
if (($handle = fopen("easy.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",", "\n")) !== FALSE)
{
// do something with the data here
echo $data[0] . " - ". $data[1] . " - ". $data[2] . "</br>" ;
}
fclose($handle);
}
這將產生預期的結果爲$ DATA [0]等,但只有的1號線CSV。 所以我得到的輸出結果是這樣的:
C - QTM0039326 - 2288314208
這正是我想要的輸出,但是在CSV每行。
我試圖遍歷$的數據,像這樣
if (($handle = fopen("easy.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",", "\n")) !== FALSE)
{
// do something with the data here
foreach ($data as $row){
echo $row[0] . " - ". $row[1] . " - ". $row[4] . "</br>" ;
}
fclose($handle);
}
}
但是這給了我一個非常重擊導致這樣的(在繼續):
C - -
Q - T - 0
- -
X - 6 -
2 - 2 - 3
我有什麼爲了得到我以後的結果(即C - QTM0039326 - 2288314208),但對於CSV的每一行?
雖然這不是正確的答案,但它讓我回答了這個問題。 CSV中出現問題,換行符未被識別。我加了一個「;」在每行的末尾,並改爲while(($ data = fgetcsv($ handle,1000,「,」「;」))!== FALSE)哪些工作。自動檢測,因爲在你的答案也工作 - 所以現在我必須看看CSV和爲什麼它是一個重擊線突破。 謝謝! – James 2013-03-14 05:05:52
很高興聽到你把它整理出來:) – GBRocks 2013-03-14 05:08:37