我需要解析这个没有分隔的.txt数据库,它是按位置的。每个字段都有一个起始位置,结束位置和长度。
我要将其插入到MySQL TABLE中,但是我必须创建布局并处理如何将这些数据定义为数组或对象?
以下是记录布局的链接: http://www.state.nj.us/treasury/taxation/lpt/MODIV-Counties/2013/MODIVLayout.pdf
答案 0 :(得分:1)
记录将是一个长度为700个字符的字符串。您将拥有这些字符串的数组。每个字符串,您应该转换为对象或哈希。
$record_strings = array(
'DATADATADATADATA...DATADATADATADATADATADATA',
'DATADATADATADATA...DATADATADATADATADATADATA',
'DATADATADATADATA...DATADATADATADATADATADATA',
'DATADATADATADATA...DATADATADATADATADATADATA',
'DATADATADATADATA...DATADATADATADATADATADATA',
'DATADATADATADATA...DATADATADATADATADATADATA',
);
$record_hashes = array_map(function($record_string) {
return array(
'COUNTY-DISTRICT' => substr($record_string, 0, 4),
'BLOCK' => substr($record_string, 4, 9),
'LOT' => substr($record_string, 13, 9),
...
);
}, $record_strings);
您现在拥有一组哈希,您可以更轻松地执行操作,例如迭代并插入数据库。