我有一行来自这样的CSV文件:
“项目1”,“项目2”,“项目3”,“项目4”,“项目5,测试6” 重复数千行 物品之间没有空格。
项目5和测试6之间的逗号应该在那里。我试图将这一行变成一个数组。
$i=1;
$temp_array = array();
$number = COUNT($array);
while($i <= $number) {
$temp_array[] = explode(",", $array[$i]);
$i++;
}
数组当前正在输出“
[1] => Array
(
[0] => "Item 1"
[1] => "Item 2"
[2] => "Item 2"
[3] => "Item 2"
[4] => "Item 5
[5] => Test 6"
)
输出如下:
[1] => Array
(
[0] => "Item 1"
[1] => "Item 2"
[2] => "Item 2"
[3] => "Item 2"
[4] => "Item 5, Test 6"
)
答案 0 :(得分:2)
我会考虑使用PHP的函数'str_getcsv' - 可能会省去一些麻烦。
此函数将CSV字符串解析为PHP数组。 http://php.net/manual/en/function.str-getcsv.php
示例:
$array = str_getcsv($csv_string, ",");
答案 1 :(得分:0)
$i=1;
$temp_array = array();
$number = COUNT($array);
while($i <= $number) {
$temp_array[] = explode('","', $array[$i]);
$i++;
}
如果你使用的是PHP 5或更高版本,你也可以这样做:
$string = ''; //your string.
$delimeter = ',';
$enclosure = '"';
$newArray = str_getcsv($input,$delimiter,$enclosure);
答案 2 :(得分:0)
$temp_array = preg_split (",(?=[^ ])" , $array[$i]);
// ^ = "look ahead and make sure its not a space"
在javascript中测试