如何使用包含逗号的值解析CSV?

Wop*_*pie 4 php csv

假设你有一个字符串如下:

$str = 'one value, two value, "three, cool value", four value';
Run Code Online (Sandbox Code Playgroud)

你如何使它成为一个数组如下:

$arr = array('one value', 'two value', 'three, cool value', 'four value');
Run Code Online (Sandbox Code Playgroud)

(这都是关于CSV和包含逗号的值,因此是双引号.)

jas*_*bar 8

如果您真的要从字符串中解析它,请使用str_getcsv.

如果要从文件中读取数据,请使用fgetcsv.


cod*_*ict 5

您可以使用 str_getcsv

$str = 'one value, two value, "three, cool value", four value';
var_dump(str_getcsv($str));                                     
Run Code Online (Sandbox Code Playgroud)

结果:

array(4) {
  [0]=>
  string(9) "one value"
  [1]=>
  string(9) "two value"
  [2]=>
  string(17) "three, cool value"
  [3]=>
  string(10) "four value"
}
Run Code Online (Sandbox Code Playgroud)