用来自字符串的字段填充数组


Populating an array with fields from a string

我有一个字符串,它包含以下引号和逗号分隔的值:

"field","anotherfield","yetanotherfield"

我需要用这些字段的内容填充一个数组,不带引号。

我现在正在做的是:

$string = str_replace('"', NULL, $string);

$array = explode(',', $string);

它可以工作,但是当任何字段中有逗号时它就会中断。我该如何预防呢?

首先,从字符串的开始和结束处修剪"

$string = trim('"field","anotherfield","yetanotherfield","other, another"', '"');

和爆炸后的","在你需要的值之间

$array = explode('","', $string);

要将整个CSV文件解析为数组,可以使用str_getcsv函数:

$array = array_map( 'str_getcsv', file( 'path-to-file/file.csv' ) );