[英]PHP Finding Unique Data in A CSV column
我正在嘗試在csv的“制作”列中收集所有唯一項。 基本上,這是所有拖曳式汽車清單中的品牌。 CSV中有一個“制作”字段。
我嘗試了以下解決方案:
$towFileString = file_get_contents("the link would go here");
file_put_contents('tow-data.csv', $towFileString);
$csvArray = array_map('str_getcsv', file('tow-data.csv'));
//echo count($csvArray);
$allMakes = array_column($csvArray, 'Make');
$uniqueMakes = array_unique($allMakes);
echo count($uniqueMakes);
我可以看到$ csvArray正在創建和填充(它收集了數千個項目),但是當我嘗試回顯$ uniqueMakes的計數時,我得到0。
我在哪里流浪?
<?php
$csv =<<<CSV
manufacturer,model
ford,escort
delorean,dmc-12
ford,capri
vw,beetle
CSV;
$csv = array_map('str_getcsv', explode("\n",$csv));
$headers = array_shift($csv);
$manufacturer_idx = array_search('manufacturer', $headers);
$manufacturers = [];
foreach($csv as $v) {
$manufacturers[] = $v[$manufacturer_idx];
}
$manufacturers = array_unique($manufacturers);
sort($manufacturers);
var_export($manufacturers);
輸出:
array (
0 => 'delorean',
1 => 'ford',
2 => 'vw',
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.