我想转换类似的数组字符串
[["a","b",["c1","c2"]],"d",["e1","e2"]]
转换为PHP中的数组。
有办法做到这一点吗?
提供的字符串是有效的JSON,因此可以使用json_decode
将其转换为真实的(PHP)数组。
几乎直接从文档中获取(只更改了字符串):
$json = '[["a","b",["c1","c2"]],"d",["e1","e2"]]';
var_dump(json_decode($json));
在这种情况下,它比试图用其他代码评估器(即eval
)破解它更干净、更安全,也比编写自定义解析代码更简单。
How to"压平";PHP中的多维数组到简单数组?以及如何展平多维阵列?
对我来说,最简单/最好的解决方案是
function flatten(array $array) {
$return = array();
array_walk_recursive($array, function($a) use (&$return) { $return[] = $a; });
return $return;
}