如何将字符串转换为数组

时间:2017-03-24 16:35:16

标签: php arrays

因此,正如您在下面看到的,我有一个从ajax请求获得的数组。现在我的问题是如何将[name]用作数组?下面的数组是两个不同的数组

更改下面的数组是在PHP中完成的

所以这个:

( 
   [name] => template[options][4892][is_delete]
   [value] => 1
)
( 
   [name] => template[options][4892][name]
   [value] => just_a_name
)

进入这个

( 
   [template] => (
        [options] => (
             [4892] => (
                 name => just_a_name,
                 is_delete => 1
             )
        )
    )
)

已编辑:已将值更改为is_delete

Edit2:更改了一些内容以使其更清晰

希望这很清楚

1 个答案:

答案 0 :(得分:1)

$data = [
    [
        'name' => 'template[options][4892][is_delete]',
        'value' => 1
    ],
    [
        'name' => 'template[options][4892][name]',
        'value' => 'name'
    ]
];

$parsedData = [];

foreach ($data as $item) {
    parse_str($item['name'] . '=' . $item['value'], $out);
    $parsedData = array_replace_recursive($parsedData, $out);
}

print_r($parsedData);

结果:

Array(
    [template] => Array(
        [options] => Array(
            [4892] => Array(
                [is_delete] => 1
                [name] => name
            )
        )
    )
)