函数打开CSV并使用PHP将内容作为数组输出
我有一个CSV文件,包含4个字段-ID、产品组名称、价格和项目 Items字段是属于该组的产品(多个)列表,由函数打开CSV并使用PHP将内容作为数组输出,php,arrays,csv,Php,Arrays,Csv,我有一个CSV文件,包含4个字段-ID、产品组名称、价格和项目 Items字段是属于该组的产品(多个)列表,由|符号分隔 例如:7,果篮,9.99,苹果|香蕉|梨 你能帮我写一个函数来打开CSV文件并将内容输出为一个数组,其中项目嵌套在第二级 产品组的ID应用于阵列的键。这适用于您: $result = array(); $file = fopen('data.csv', "r"); while (($row = fgetcsv($file)) !== false) { $id = ar
|
符号分隔
例如:7,果篮,9.99,苹果|香蕉|梨
你能帮我写一个函数来打开CSV文件并将内容输出为一个数组,其中项目嵌套在第二级
产品组的ID应用于阵列的键。这适用于您:
$result = array();
$file = fopen('data.csv', "r");
while (($row = fgetcsv($file)) !== false) {
$id = array_shift($row);
$row[2] = str_getcsv($row[2], "|");
$result[$id] = $row;
}
print_r($result);
data.csv文件:
7, Fruit Basket, 9.99, Apple|Banana|Pear
8, Fruit Basket, 9.99, Apple|Banana|Pear
结果:
Array
(
[7] => Array
(
[0] => Fruit Basket
[1] => 9.99
[2] => Array
(
[0] => Apple
[1] => Banana
[2] => Pear
)
)
[8] => Array
(
[0] => Fruit Basket
[1] => 9.99
[2] => Array
(
[0] => Apple
[1] => Banana
[2] => Pear
)
)
)
注意:我的代码仅适用于此数据结构。如果嵌套项位于数据中的其他位置,则它不起作用 您是否尝试过将explode函数与foreach结合使用来处理所有数据?