@Parsifal31017
Программист

Как мне изменить формат массива данных?

Здравствуйте, мне нужно изменить формат массива.
Вот старый код:
public static function getBrandsWithImages(): array
    {
        $arResult = [
            'REFERENCE_ID' => [''],
            'REFERENCE' => [''],
        ];

        $arBrands = Brand::select('ID', 'UF_NAME')->filter(['!=UF_FILE' => null])->sort('UF_NAME')->getList();

        foreach ($arBrands as $arBrand) {
            $arResult['REFERENCE_ID'][] = $arBrand['ID'];
            $arResult['REFERENCE'][] = '(' . $arBrand['ID'] . ') ' . $arBrand['UF_NAME'];;
        }

        return $arResult;
    }

Сейчас у меня функция Options::getBrandsWithImages() возвращает массив такого формата:
[
  'REFERENCE_ID' => [1,2,3,4,5]
  'REFERENCE' => ['Название 1, 'Название 2, 'Название 3,'Название 4,'Название 5,]
]

А мне нужно сделать так, чтобы возвращался массив такого формата:
[
  [
    'TITLE' => 'Название 1',
    'VALUE' => 1
  ],
  [
    'TITLE' => 'Название 2',
    'VALUE' => 2
  ],
  [
    'TITLE' => 'Название 3',
    'VALUE' => 3
  ],
  [
    'TITLE' => 'Название 4',
    'VALUE' => 4
  ],
  [
    'TITLE' => 'Название 5',
    'VALUE' => 5
  ],
]

Заранее спасибо.
  • Вопрос задан
  • 96 просмотров
Решения вопроса 1
rozhnev
@rozhnev Куратор тега PHP
Fullstack programmer, DBA, медленно, дорого
Наверно как-то так:
foreach ($arBrands as $arBrand) {
        $arResult[] = [
            'TITLE' => $arBrand['UF_NAME'], 
            'VALUE' => $arBrand['ID']
        ];
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы