简体   繁体   English

我如何将字符串转换为数组

[英]How do I cast a string to an array

So as you can see below I have an array that I get from an ajax request.. Now is my question how can I use the [name] as an array? 因此,正如您在下面看到的那样,我有一个从ajax请求中获取的数组。.现在是我的问题,如何使用[name]作为数组? The arrays below are two different arrays 下面的数组是两个不同的数组

Changing the arrays below is done in PHP 更改下面的数组是在PHP中完成的

So this: 所以这:

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

Into this 入这个

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

Edited: changed value to is_delete 编辑:将值更改为is_delete

Edit2: changed some things to make it more clear Edit2:更改了一些内容以使其更加清晰

Hope this is clear enough 希望这足够清楚

$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);

result: 结果:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM