将选项卡式字符串转换为php数组

时间:2017-04-20 22:04:30

标签: php

我正在尝试将带标签的格式化字符串转换为php数组。我试图将每个类别转换为单独的数组,然后转换为preg_match,但这样做效果不太好......有什么建议吗?

转换:

category 1
    subcategory 1
        item 1
        item 2
    subcategory 2
        item 1
        item 2
   subcategory 3
        item 1
        item 2           
category 2
    subcategory 1
        item 1
        item 2
    subcategory 2
        item 1
        item 2        
category 3
    subcategory 1
        item 1
        item 2
        item 3
        item 4

致:

$data = [
'category 1' =>[
    'subcategory 1' =>[
        'item 1',
        'item 2'
    ],
    'subcategory 2' =>[
        'item 1',
        'item 2'
    ],
    'subcategory 3' =>[
        'item 1',
        'item 2'
    ] 
],
'category 2' =>[
    'subcategory 1' =>[
        'item 1',
        'item 2'
    ],
    'subcategory 2' =>[
        'item 1',
        'item 2'
    ]
],
'category 3' =>[
    'subcategory 1' =>[
    'item 1',
    'item 2',
    'item 3',
    'item 4'            
    ]
]
];

1 个答案:

答案 0 :(得分:0)

好吧,如果您的字符串格式正确,这里有一个可以解释的功能:

v = dataDF.dataDF.values
j = dataDF.columns.get_loc('Quarter')
dataDF.get_value((np.diff(v) > 0).argmax() + 1, j, takeable=True)

'2009q3'