我需要帮助修改数组以达到所需的结构。很抱歉示例结构可能很大,但我想更好地展示该结构。
我有一个如下所示的目标数组,我需要生成
[bf_1040242] => Array
(
[326] => Just some Information. Additional Text
[17565] => Array
(
[0] => 2
[1] => 1
[2] => 3
)
[other] => Array
(
[17565] => Testing
[28623] =>
[42284] => Something Else
)
[597] => 1
[327] => This is some text
[328] => asdasd
[11880] => wwwww
[329] => xxxxx
[28622] => 2
[42283] => 1
[42284] => Array
(
[0] => 2
[1] => 3
[2] => 4
)
我生成的数据采用不同的格式,其中这些值的结构采用字符串形式。
在上面的数组中,键“name”代表字符串格式的单个数组的结构,“value”保存数组结构需要更新为的值。
这是通过使用成功完成的
$extra = []
foreach ($mainArray as $key => $value)
{
parse_str($value['name'], $tempArr);
$m = $this->multiArr($k, $value);
array_push($extra, $m);
}
protected function multiArr($k, $val)
{
foreach($k as $key => $value)
{
if(is_array($value) ) $k[$key] = $this->multiArr($k[$key], $val);
if(!is_array($value))
{
$k[$key] = (string) $val['value'];
}
}
return $k;
}
$m 保存单个数组值,例如
Array
(
[bf_1040242] => Array
(
[other] => Array
(
[42284] => Something Else
)
)
)
使用这些单独的数组值,我想创建主要所需的数组,所以我使用
array_push($extra, $m);
但这会将每个 $m 数组添加到彼此下方,而不是按照上面预期的方式进行更新。以下是我最终的结局。
慕森卡