Переупорядочение многомерных столбцовых данных в структуру на основе строк
Для данного ассоциативного массива с данными, ориентированными на столбцы, задача состоит в том, чтобы преобразовать его в многомерный массив, состоящий из строк. Данные в исходном массиве упорядочены по столбцам, и цель состоит в том, чтобы объединить значения из одного столбца в строки.
Исходный массив:
$where = [ 'id' => [ 12, 13, 14 ], 'date' => [ '1999-06-12', '2000-03-21', '2006-09-31' ] ];
Желаемый результат:
$comb = [ [12, '1999-06-12'], [13, '2000-03-21'], [14, '2006-09-31'] ];
Решение:
Один эффективный способ добиться такой реструктуризации данных — перебрать значения каждого столбца с помощью цикла и объединить их в массив для каждого ряд. Вот пример:
$result = [];
foreach ($where['id'] as $key => $id) {
$result[] = [$id, $where['date'][$key]];
}
array_column() Подход:
Элегантной альтернативой решению на основе цикла является использование функции array_column(), которая извлекает определенный столбец из многомерного массива. array.
$result = [];
foreach ($where['id'] as $key => $id) {
$result[] = array_column($where, $key);
}
Функция array_column() возвращает указанный столбец в виде массива, который затем можно объединить со значениями из соответствующей строки.
Вывод:
Оба решения дадут желаемый результат:
[ [12, '1999-06-12'], [13, '2000-03-21'], [14, '2006-09-31'] ]
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3