Anonymous
Преобразовать вложенные массивы в несколько плоских массивов
Сообщение
Anonymous » 05 май 2025, 12:33
Я не нашел здесь решение для моей проблемы. Из -за этого, здесь моя проблема:
У меня есть массив некоторых параметров (например, файл конфигурации YAML), и это необходимо записать в базу данных Final с первичными идентификаторами и т. Д.
Код: Выделить всё
$settings = [
'basic' => [ // first level category
'installation_type' => [ // setting parameter with parameter attributes
'type' => '["single","cluster"]',
'description' => 'bla blah',
'readonly' => false,
'hidden' => false,
'trigger' => null,
'default' => 'single'
],
'db_master_host' => [
'type' => 'ip',
'description' => 'Database hostname or IP',
'default' => 'localhost'
],
'db_master_user' => [
'type' => 'text',
'description' => 'Database username',
'default' => 'test'
],
'db_master_pwd' => [
'type' => 'secret',
'description' => 'Database user password',
],
'db_master_db' => [
'type' => 'text',
'description' => 'Database name',
'default' => 'test'
]
],
'provisioning' => [ // first level category
'snom' => [ // second level category
'snom_prov_enabled' => [
'type' => 'switch',
'default' => false
],
'snom_m3' => [
'snom_m3_accounts' => [
'type' => 'number',
'description' => 'bla blah',
'default' => '0'
]
],
'snom_dect' => [
'snom_dect_enabled' => [
'type' => 'switch',
'description' => 'bla blah',
'default' => false
]
]
],
'yealink' => [
'yealink_prov_enabled' => [
'type' => 'switch',
'default' => false
]
]
],
< /code>
]; < /p>
В качестве результата мне нужны несколько массивов, таких как изображения таблиц базы данных (категория, настройка, значение) с самогенерированными идентификаторами: < /p>
$category["basic"] = [id: 1, parent: 0, name: "basic", order: 1]
$setting["installation_type"] = [id: 1, catId: 1, name: "installation_type", type: '["single","cluster"]', desc: 'asd', order: 1]
$value["installation_type"] = [id: 1, setId: 1, default: 'single']
$setting["db_master_host"] = [id: 2, catId: 1, name: "db_master_host", type: 'ip', desc: 'asd', order: 2]
$value["db_master_host"] = [id: 2, setId: 2, name: "db_master_host", default: 'localhost']
...
$category["provisioning"] = [id: 2, parent: 0, name: "provisioning", order: 2]
$category["snom"] = [id: 3, parent: 2, name: "snom", order: 3]
...
Надеюсь, моя проблема здесь понятна, и любой может мне помочь.
Подробнее здесь:
https://stackoverflow.com/questions/796 ... lat-arrays
1746437633
Anonymous
Я не нашел здесь решение для моей проблемы. Из -за этого, здесь моя проблема: У меня есть массив некоторых параметров (например, файл конфигурации YAML), и это необходимо записать в базу данных Final с первичными идентификаторами и т. Д.[code]$settings = [ 'basic' => [ // first level category 'installation_type' => [ // setting parameter with parameter attributes 'type' => '["single","cluster"]', 'description' => 'bla blah', 'readonly' => false, 'hidden' => false, 'trigger' => null, 'default' => 'single' ], 'db_master_host' => [ 'type' => 'ip', 'description' => 'Database hostname or IP', 'default' => 'localhost' ], 'db_master_user' => [ 'type' => 'text', 'description' => 'Database username', 'default' => 'test' ], 'db_master_pwd' => [ 'type' => 'secret', 'description' => 'Database user password', ], 'db_master_db' => [ 'type' => 'text', 'description' => 'Database name', 'default' => 'test' ] ], 'provisioning' => [ // first level category 'snom' => [ // second level category 'snom_prov_enabled' => [ 'type' => 'switch', 'default' => false ], 'snom_m3' => [ 'snom_m3_accounts' => [ 'type' => 'number', 'description' => 'bla blah', 'default' => '0' ] ], 'snom_dect' => [ 'snom_dect_enabled' => [ 'type' => 'switch', 'description' => 'bla blah', 'default' => false ] ] ], 'yealink' => [ 'yealink_prov_enabled' => [ 'type' => 'switch', 'default' => false ] ] ], < /code> ]; < /p> В качестве результата мне нужны несколько массивов, таких как изображения таблиц базы данных (категория, настройка, значение) с самогенерированными идентификаторами: < /p> $category["basic"] = [id: 1, parent: 0, name: "basic", order: 1] $setting["installation_type"] = [id: 1, catId: 1, name: "installation_type", type: '["single","cluster"]', desc: 'asd', order: 1] $value["installation_type"] = [id: 1, setId: 1, default: 'single'] $setting["db_master_host"] = [id: 2, catId: 1, name: "db_master_host", type: 'ip', desc: 'asd', order: 2] $value["db_master_host"] = [id: 2, setId: 2, name: "db_master_host", default: 'localhost'] ... $category["provisioning"] = [id: 2, parent: 0, name: "provisioning", order: 2] $category["snom"] = [id: 3, parent: 2, name: "snom", order: 3] ... [/code] Надеюсь, моя проблема здесь понятна, и любой может мне помочь. Подробнее здесь: [url]https://stackoverflow.com/questions/79606568/convert-nested-array-to-multiple-flat-arrays[/url]