【发布时间】:2012-05-08 00:13:25
【问题描述】:
假设一个带有标题行的制表符分隔值 (TSV) 文件,如何创建一个以标题字段为键、数据字段为数据的 PHP 数组?
假设 $txtArray 包含文件中的所有行,
$hdrArray = explode( "\t", $txtArray[0]);
$i = 0;
foreach ($hdrArray as $hdr) {
$heads[$hdr] = '';
$headerNames[$i++] = $hdr;
}
for ($i = 1; $i < (count($txtArray) - 1); $i++ ) {
$datArray = explode( "\t", $txtArray[$i]);
if (count($datArray) > 1) {
for($j = 0; $j < count($datArray); $j++) {
$heads[$headerNames[$j]] = $datArray[$j];
}
}
# process the line
}
对于文件的每一行中的所有字段,我都有包含 field_name => field_data 的 $heads。有没有更好的编码方式?
【问题讨论】:
-
您的代码无法正常工作,能否提供您正在解析的文件的示例?而且由于这是一个技术问题,它更适合 Stack Overflow,除非我遗漏了什么?
标签: php text-processing