<?php
$list = array(
'ind' => array(
'messagetype' => 'Alert',
'visibility' => 'Public',
'info' => array(
0 => array(
'urgency' => 'Urgent',
'params' => array(
0 => array(
'Name' => 'display',
'value' => '3; top',
),
1 => array(
'Name' => 'level',
'value' => '1; blue',
),
),
'area' => array(
'ard' => 'Bob',
'code' => array(
0 => array(
'Name' => 'Badge',
'value' => 'GSSD154',
),
),
),
),
1 => array(
'messagetype' => 'Information',
'visibility' => 'Private',
'info' => array(
0 => array(
'urgency' => 'Minor',
'params' => array(
0 => array(
'Name' => 'display',
'value' => '1; left',
),
1 => array(
'Name' => 'level',
'value' => '1; red',
),
),
'area' => array(
'ard' => 'Bob',
'code' => array(
0 => array(
'Name' => 'Badge',
'value' => 'GBECS23',
),
),
),
),
),
),
),
),
);
function replaceKeys(&$arr) {
foreach ($arr as &$v) {
if ( !is_array($v) )
continue;
$keys = array_keys($v);
$count = count($keys);
if ( $count < 2 ||
$keys !== array_flip($keys) ||
array_keys(array_merge(...$v)) !== ['Name', 'value'] ) {
replaceKeys($v);
continue;
}
foreach ($v as $k => &$item) {
$item = array_combine(["Name$k", "value$k"], $item);
}
}
}
replaceKeys($list);
print_r($list);
- Output for 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
- Array
(
[ind] => Array
(
[messagetype] => Alert
[visibility] => Public
[info] => Array
(
[0] => Array
(
[urgency] => Urgent
[params] => Array
(
[0] => Array
(
[Name0] => display
[value0] => 3; top
)
[1] => Array
(
[Name1] => level
[value1] => 1; blue
)
)
[area] => Array
(
[ard] => Bob
[code] => Array
(
[0] => Array
(
[Name] => Badge
[value] => GSSD154
)
)
)
)
[1] => Array
(
[messagetype] => Information
[visibility] => Private
[info] => Array
(
[0] => Array
(
[urgency] => Minor
[params] => Array
(
[0] => Array
(
[Name0] => display
[value0] => 1; left
)
[1] => Array
(
[Name1] => level
[value1] => 1; red
)
)
[area] => Array
(
[ard] => Bob
[code] => Array
(
[0] => Array
(
[Name] => Badge
[value] => GBECS23
)
)
)
)
)
)
)
)
)
preferences:
113.65 ms | 419 KiB | 5 Q