这应该是一个对象还是数组?

时间:2013-06-25 21:21:58

标签: php arrays parsing object

我需要解析这个没有分隔的.txt数据库,它是按位置的。每个字段都有一个起始位置,结束位置和长度。

我要将其插入到MySQL TABLE中,但是我必须创建布局并处理如何将这些数据定义为数组或对象?

以下是记录布局的链接: http://www.state.nj.us/treasury/taxation/lpt/MODIV-Counties/2013/MODIVLayout.pdf

1 个答案:

答案 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);

您现在拥有一组哈希,您可以更轻松地执行操作,例如迭代并插入数据库。