将文本(制表符分隔)转换为PHP关联数组,而不是将此代码转换为CSV?

将文本(制表符分隔)转换为PHP关联数组,而不是将此代码转换为CSV?,php,arrays,csv,Php,Arrays,Csv,我想将我的CSV转换为数组代码,转换为以数组代码块分隔的文本选项卡。这是我的存在,为逗号的工作 $rows = array_map('str_getcsv', $content); $header = array_shift($rows); $csv = array(); foreach ($rows as $row) { $csv[] = array_combine($header, $row); } print_r($csv); 例如,将“str_getcsv”转换为默认接受逗号上的

我想将我的CSV转换为数组代码,转换为以数组代码块分隔的文本选项卡。这是我的存在,为逗号的工作

$rows = array_map('str_getcsv', $content);
$header = array_shift($rows);
$csv = array();
foreach ($rows as $row) {
   $csv[] = array_combine($header, $row);
}
print_r($csv);

例如,将“str_getcsv”转换为默认接受逗号上的制表符的最短方法是什么?

这将它放入带有制表符分隔符的字符串中。然后,您可以将其分解为数组或按原样使用

$rows = array_map('str_getcsv', $content, array_fill(0, count($content), "\t"));
$csv = implode("\t", str_getcsv($file, ","));

不是数组\t,而是数组\u fill0,count$content,\t str\u getcsv的第二个参数应该应用于$content中的每个项目,因此参数数组的大小应该与$content相同。现在它只对第一个元素有效,并对其他元素发出通知。@dev null allender:str_getcsv解析CSV格式字段的字符串输入,并返回包含读取字段的数组。第二个参数\t将要求str_getcsv将逗号替换为制表符作为分隔符。@dev null居住者:我已更正。你应该把答案贴出来,并给出答案explanation@Raidenace我本来打算用lambda函数发表我的建议,但我更喜欢你的答案,所以积分应该归你。顺便说一句,str_replace是用代码实现它的最快方法。preg_替换为正则表达式是下一个最好/最快的方法。我正在考虑将文件保存为文本而不使用逗号,以便在需要时允许在数据中使用逗号。因此,在这种情况下,您可以使用fwrite和我在上面编写的$csv字符串,它将完全满足您的要求。fwrite$handle,$csv;还有更多的信息