我有以下字符串:
Mr,Tom,Jones,Add1,Add2,"Add3,Add3 extra",Town,County,postcode,99999,888,777
我想把字符串放到一个如下所示的数组中:
Array
(
[0] => Mr
[1] => Tom
[2] => Jones
[3] => Add1
[4] => Add2
[5] => "Add3,Add3 extra"
[6] => Town
[7] => County
[8] => Postcode
[9] => 99999
[10] => 888
[11] => 777
)
如果你用“,”爆炸字符串,它会将数组项目5分成两部分,我试图避免。原始数据来自CSV。
Ultimatly我正在尝试导入CSV并动态创建一个新数据库,其中包含正确标题的标题和文件内容。
提前致谢。
答案 0 :(得分:6)
尝试fgetcsv():
fgetcsv - 从文件指针获取行并解析CSV字段
答案 1 :(得分:2)
$array = str_getcsv( 'Mr,Tom,Jones,Add1,Add2,"Add3,Add3 extra",Town,County,postcode,99999,888,777', ',', '"' );
这将使您获得所需的数组。
答案 2 :(得分:0)
<?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);
}
?>
来自fgetcsv
答案 3 :(得分:0)
您可以使用str_getcsv()。
str_getcsv - 将CSV字符串解析为数组