Skip to content

Instantly share code, notes, and snippets.

@dzhuryn
Created December 4, 2020 15:51
Show Gist options
  • Save dzhuryn/64908b278ce5c8675c62cee77da2d4a1 to your computer and use it in GitHub Desktop.
Save dzhuryn/64908b278ce5c8675c62cee77da2d4a1 to your computer and use it in GitHub Desktop.
## Имя элементов с типом group должно заканчиватся на _group_onwer
class Helpers
{
public static function multiFields($data, $index = 0, $parent = [])
{
$prepare = [];
if (is_array($data)) {
foreach ($data as $key => $item) {
switch ($item['type']) {
case 'row':
$response = self::multiFields($item['items'], $index + 1, $item);
$response = array_merge([
'row_name' => $item['name'],
'row_value' => $item['value'],
], $response);
if ($index == 0 || strpos($parent['name'], '_group_onwer') !== false) {
$prepare[] = $response;
} else {
$prepare[$item['name']][] = $response;
}
break;
default:
$prepare[$item['name']] = $item['value'];
break;
}
}
}
return $prepare;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment