我正在尝试将数组的键值转换为多维数组。键值看起来是多维的,但只是文本。我试过分解字符串并创建一个新数组,但我觉得一定有比这更简单的方法。
示例如下:
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/