php - 如何在 PHP 中将展平数组转换为多维数组

标签 php

我正在尝试将数组的键值转换为多维数组。键值看起来是多维的,但只是文本。我试过分解字符串并创建一个新数组,但我觉得一定有比这更简单的方法。

示例如下:

Array (
[Template[URL]] => http://www.asdasdda.com
[Template[UPC]] => 5484548546314
[Field[value]] =>  Test Example
[Field[answer]] => 20 )

所有帮助都非常适用。 :)

更新: 这是我对数据运行 json_decode 之前数据的准确输出。

{"Template[URL]":"http://www.asdasdda.com","Template[UPC]":"5484548546314","Field[value]":"Test Example","Field[answer]":"20"}

最佳答案

摸索了一下,我想我明白了。我认为没有更简单的方法:

foreach ($array as $key=>$value) {
    preg_match("/\[(.+)\]/",$key,$match);
    $newKey = preg_replace("/\[.+\]/","",$key);
    $newArray[$newKey][$match[1]] = $value;
}

其中$newArray的一个print_r()如下:

Array ( 
    [Template] => Array ( 
        [URL] => http://www.asdasdda.com 
        [UPC] => 5484548546314 
        ) 
    [Field] => Array ( 
        [value] => Test Example 
        [answer] => 20 
        ) 
    )

关于php - 如何在 PHP 中将展平数组转换为多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29803447/

相关文章:

javascript - PHP 中的 Javascript 数组

javascript - 编辑图像/图像详细信息 - 替换按钮丢失

php - PHP 和 Mysql 条件查询

选择后立即删除 PHP

php - 内爆特定的关联数组键值

php - 查找/链接两个 MySQL 表

php - 将 XLSX 文件导入 MySQL 数据库

php - 我需要帮助解决 mySQL 查询花费比预期更长的原因

php - 如何在 mySQL 中动态更改限制

php - 谷歌浏览器中 Mime 类型的 zip 文件