我正在构建一个简单的商店系统,它从csv文件生成的数组中获取产品。
我的csv如下:
pid;name;color
11149;Miro;"schwarz;weiß;blau;rot;gelb"
11004;FritzHansen;"buche;nussbau;schwarz;weiß;blau;hellblau;rot;grün;gelb;retro"
我正在使用以下脚本
if (($handle = fopen('_products.csv', 'r')) === false) {
die('Error opening file');
}
$headers = fgetcsv($handle, 256, ';');
$_products = array();
while ($row = fgetcsv($handle, 256, ';')) {
$_products[] = array_combine($headers, $row);
}
fclose($handle);
产生这个数组:
Array
(
[0] => Array
(
[pid] => 11149
[name] => Miro
[color] => schwarz;weiß;blau;rot;gelb
)
[1] => Array
(
[pid] => 14215
[name] => 1800
[color] => schwarz;anthrazit
)
[2] => Array
(
[pid] => 11004
[name] => FritzHansen
[color] => buche;nussbau;schwarz;weiß;blau;hellblau;rot;grün;gelb;retro
)
)
我希望键0-x
为相应“子”阵列的[pid]
值。
我该怎么做? 谢谢!
答案 0 :(得分:7)
试试这个
while ($row = fgetcsv($handle, 256, ';')) {
$_products[$row[0]] = array_combine($headers, $row);
}
答案 1 :(得分:0)
这应该做你需要的:
$products = array();
foreach ($_products as $product)
{
$products[$product['pid']] = $product;
}
print_r($products);