我已经看到了许多有关如何获取CSV文件然后创建带有标题作为键的关联数组的示例。
例如:
Brand,Model,Part,Test Honda,Civic,123,244 Honda,Civic,135,434 Toyota,Supra,511,664
它会创建一个Array,如 Array[$num][$key]这里$key将是品牌,型号,部件,测试。
Array[$num][$key]
$key
因此,如果我想访问测试值“ 434”,则必须循环数组中的每个索引,然后忽略所有非本田品牌和任何非思域车型
我需要做的是最直接地访问值,而不是通过遍历每个$ num索引的for循环来运行。我希望能够通过以下方式访问值测试“ 434”:
Array['Honda']['Civic']['135']
或通过遍历所有本田车型来控制for语句……
foreach $model in Array['Honda']
至少我需要能够浏览一个已知品牌的每个模型,并访问每个模型的所有相关信息。
编辑:
只是为了确认我正在设置一个示例。我的实际数据具有以下标题:
brand model part price shipping description footnote
我需要访问其中的所有信息(价格,运费,说明,脚注)
逐行运行csv文件,然后插入到数组中,如下所示:
$array = $fields = array(); $i = 0; $handle = @fopen("file.csv", "r"); if ($handle) { while (($row = fgetcsv($handle, 4096)) !== false) { if (empty($fields)) { $fields = $row; continue; } foreach ($row as $k=>$value) { $array[$i][$fields[$k]] = $value; } $i++; } if (!feof($handle)) { echo "Error: unexpected fgets() fail\n"; } fclose($handle); }