Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正在拆分CSV,但不是仅使用逗号(PHP)?_Php_Csv - Fatal编程技术网

正在拆分CSV,但不是仅使用逗号(PHP)?

正在拆分CSV,但不是仅使用逗号(PHP)?,php,csv,Php,Csv,我想拆分一个CSV字符串。字符串如下所示: “val1”、“val2”、“val3,其他一些东西”、“val4” 正如您所看到的,值中可能有一个逗号(请参见val3),因此在逗号上使用explode将不起作用 我还尝试: preg_split('/","/', $myLine) 但这不起作用,否则我怎么做 感谢您的帮助:)如果您的数据位于文件中,则可以使用内置 或者,如果您的数据是PHP函数中CSV文件的字符串: 在第三个参数中,您可以设置Delimeter,默认情况下-“,”(逗号) 函数读

我想拆分一个CSV字符串。字符串如下所示:

“val1”、“val2”、“val3,其他一些东西”、“val4”

正如您所看到的,值中可能有一个逗号(请参见val3),因此在逗号上使用explode将不起作用

我还尝试:

preg_split('/","/', $myLine)
但这不起作用,否则我怎么做

感谢您的帮助:)

如果您的数据位于文件中,则可以使用内置


或者,如果您的数据是PHP函数中CSV文件的字符串

在第三个参数中,您可以设置Delimeter,默认情况下-“,”(逗号)

函数读取每行并返回包含当前行元素的数组

示例

$f = fopen('file.csv', 'r+');
while (($data = fgetcsv($f, 1000, ",")) !== FALSE) {
    /* $data is array with elements for current line */
}
fclose($f);

完全正确。“fgetcsv()”支持“分隔符”(因此您可以使用逗号以外的内容)和“附件”(这很好地解决了此问题)。在提问之前,请使用搜索功能,就像在中要求您一样。谢谢。啊,是的,str_getcsv正是我需要的!非常感谢
$inputfiledelimiter="~";
if (($handle = fopen($target_path, "r")) !== FALSE) 
{       
    while (($data = fgetcsv($handle, 0, $inputfiledelimiter)) !== FALSE) 
    {

    }   
}