我正在使用PHP打開並解析一個非常小(約1kb)的CSV文件以生成HTML表。我是PHP新手,這在很大程度上是實驗性的。除了生成HTML表格,我試圖從該csv(城市和國家信息)中的一組特定列生成數組,然後刪除重複的值。的CSV的結構是這樣的:從PHP數組獲取特定的CSV列或第n個值
Last Name, First Name, City, Country, Language
Smith, Joe, Shanghai, China, English
Jackson, Stacey, Madrid, Spain, Spanish
Jones, Bob, London, United Kingdom, English
Seward, Elisa, Madrid, Spain, English
Harrison, Tim, Berlin, Germany, German
這裏的想法是,除了所有的數據表,我還必須在表中列出的所有城市/國家名單:
- 上海,中國
- 馬德里,西班牙
- 倫敦,英國
- 柏林,德國
得益於fgetcsv()
文檔和堆棧溢出的其他問題,閱讀文件和構建表很簡單:
<?php
$handle = fopen("namelist.csv", "r");
$data = fgetcsv($handle, 1000, ",");
echo('<table>');
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
echo("<tr>\r\n");
foreach ($data as $index=>$val) {
echo("\t<td>");
echo htmlentities($val, ENT_QUOTES);
echo("</td>\r\n");
}
echo("</tr>\r\n");
}
echo("</table>");
fclose($handle);
?>
但我一直無法弄清楚如何抓住城市,國家數據和刪除重複項。有沒有人有建議?
我期望當'$ index == 2'有城市時,以及'$ index == 3'你有國家。要刪除重複項,您需要參考數據數組或將信息存儲在更加用戶友好的數組中,以跟蹤已寫入的內容。 – bloodyKnuckles