首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP爆炸是为了CSV?

问PHP爆炸是为了CSV?
EN

Stack Overflow用户
提问于 2012-12-15 04:28:48
回答 3查看 12K关注 0票数 0

我在CSV文件中有数据。我需要读取文件并将数据放入数组中。我的CSV文件中有5列,如下所示:

代码语言:javascript
复制
CAPRICCIOSA | Tomato, Cheese, Mushrooms | $8.00 | $12.00 | $15.00

MARGHERITA  | Tomato, Cheese, Oregano   | $7.00 | $11.00 | $13.00
  1. 我如何将其explode()成数组?如果我使用逗号将它分解成数组,它将变成CAPRICCIOA - Tomato - Cheese,因为我的文本已经有了一个逗号。
  2. 如何将它分割成不同的行,比如MySQL,这样我就可以循环遍历结果了?

我尝试了以下几点:

代码语言:javascript
复制
 $file="dish.csv" ;
 $file=file_get_contents($file);
 $array=explode(",", $file);
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-12-15 04:32:28

如何使用PHP函数: fgetcsv()

http://php.net/manual/en/function.fgetcsv.php

票数 6
EN

Stack Overflow用户

发布于 2012-12-15 04:33:36

您应该转到fgetcsv:

代码语言:javascript
复制
<?php
$row = 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $num = count($data);
        echo "<p> $num fields in line $row: <br /></p>\n";
        $row++;
    for ($c=0; $c < $num; $c++) {
        echo $data[$c] . "<br />\n";
    }
}
fclose($handle);

?>

http://php.net/manual/en/function.fgetcsv.php

票数 2
EN

Stack Overflow用户

发布于 2012-12-15 09:23:47

试试这个:

代码语言:javascript
复制
$fn='dish.csv';

$file_array = file($fn);
foreach ($file_array as $line_number =>&$line)
{
    //$line=utf8_encode($line);
    $row=explode('|',$line);

    echo 'Dish: '.$row[0].'<br>';
    $ingredients=explode(',',$row[1]);
    echo 'Ingredients:';
    echo '<pre>';
    print_r($ingredients);
    echo '<br><br>';
    echo '</pre>';
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13889305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档