<?php
$frontendData = [
'datasheet' => [
'Name_1_balance0' => 1, // Data block 1
'Name_1_balance2' => 3, // Data block 1
'Name_1_balance13' => 4, // Data block 1
'Name_1_balance1' => 2, // Data block 1
'Name_2_balance0' => 5, // Data block 2
'Name_2_balance2' => 7, // Data block 2
'Name_2_balance3' => 8, // Data block 2
'Name_2_balance1' => 6, // Data block 2
]
];
uksort($frontendData['datasheet'], 'strnatcmp');
$result = array();
foreach ($frontendData['datasheet'] as $key => $balance) {
preg_match('/^(\w+)_balance(\d+)$/', $key, $match);
$result[$match[1]][0] = $match[1];
$result[$match[1]][1]['balance'][$match[2]] = $balance;
}
$result = array('datasheet' => array_values($result));
print_r($result);
- 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
(
[datasheet] => Array
(
[0] => Array
(
[0] => Name_1
[1] => Array
(
[balance] => Array
(
[0] => 1
[1] => 2
[2] => 3
[13] => 4
)
)
)
[1] => Array
(
[0] => Name_2
[1] => Array
(
[balance] => Array
(
[0] => 5
[1] => 6
[2] => 7
[3] => 8
)
)
)
)
)
preferences:
129.42 ms | 411 KiB | 5 Q