【发布时间】:2018-07-26 22:45:38
【问题描述】:
$variable = '
persons.0.name = "peter"
persons.0.lastname = "griffin"
persons.1.name = "homer"
persons.1.lastname = "simpsons"';
我想从 $variable 生成一个看起来像这样的数组
array(2) {
[0]=>
array(2) {
["name"]=>
string(5) "peter"
["lastname"]=>
string(7) "griffin"
}
[1]=>
array(2) {
["name"]=>
string(5) "homer"
["lastname"]=>
string(7) "simpson"
}
}
到目前为止,这就是我目前所拥有的。
$temp = explode('\r\n', $persons);
$sets = [];
foreach ($temp as $value)
{
$array = explode('=', $value);
if ($array[0] != '')
{
$array[1] = trim($array[1], '"');
$sets[$array[0]] = $array[1];
$output = $sets;
}
}
生成“persons.1.name”作为键和“peter”作为值 我不确定如何基于“。”生成数组。谢谢。
我尝试使用 parse_ini_string() 但基本上是在做同样的事情。
【问题讨论】:
-
你需要一些甜蜜的递归。
-
我觉得你的ini格式不对!!!