@pashaa
Студент

Как в двумерном массива первое значение в строке сделать ключом?

Есть такой массив:
$rows2 = [
['id'=>'a1','update_at' => dddd,'create_at' => cccc],
['id'=>'a2','update_at' => dddd,'create_at' => cccc]
];
Как его сделать таким:
$rows2 = [
['a1' => ['update_at' => dddd,'create_at' => cccc]],
['a2' => ['update_at' => dddd,'create_at' => cccc]],
];
  • Вопрос задан
  • 37 просмотров
Решения вопроса 1
27cm
@27cm
TODO: Написать статус
Если оставить id в строках, то можно вот так:
$result = array_combine(array_column($rows2, 'id'), $rows2);


Но если очень надо убрать:
$result = array_combine(array_column($rows2, 'id'), $rows2);
foreach (array_keys($result) as $id) {
    unset($result[$id]['id']);
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
dpr
@dpr
frontend developer
$result = [];
foreach ($rows2 as $item) {
  $result[$item['id']] = $item; // так проще
  
  // так лишнего писать придется
  $result[$item['id']] = [
    'updated_at' => $item['updated_at'],
    'created_at' => $item['created_at'],
  ];
}

var_dump($result);
Ответ написан
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы