假设我在CSV文件中有以下行(我在此示例中删除了标题行):
"500,000",2,50,2,90000
我有一个PHP脚本读取CSV文件,将文件分成单独的行,并将每行存储在名为$ linearray的数组中。然后,我使用foreach循环单独查看每一行。
在foreach循环中,我使用以下函数将该行拆分为单独的变量:
$line = str_replace("'","\'",$line);
从这里,我将值插入MySQL数据库中的单独列中。该脚本有效。这些值被插入到数据库中,但是我遇到了问题。我想要:
"500,000" | 2 | 50 | 2 | 90000
但我明白了:
"500 | 000" | 2 | 50 | 2 | 90000
该脚本不够智能,无法理解它应该在引号内跳过逗号。你知道我怎么改变我的脚本以确保我得到我正在寻找的输出吗?
答案 0 :(得分:2)
您可以使用str_getcsv功能
print_r(str_getcsv($line));
<强>输出:强>
Array
(
[0] => 500,000
[1] => 2
[2] => 50
[3] => 2
[4] => 90000
)
答案 1 :(得分:1)
尝试fgetcsv。