Сначала вы можете получить ключи массива с помощью array_keys()
и array_collapse()
:
$columns = array_keys(array_collapse($records));
Затем вы просматриваете записи $, используя тот же цикл, который у вас уже был.Давайте продемонстрируем это на следующем примере:
$columns = array_keys(array_collapse($records));
foreach($records as $key => $item) {
//these are each record
foreach ($columns as $column) {
//each column where you build the header
// converts $item to an array
$item = (array)$item;
if (! array_key_exists($column, (array)$item)) {
// show '---'
echo '---';
continue;
}
//show $item[$item]
echo $item[$column];
}
}
Большим преимуществом этого является то, что мы получаем столбцы первыми (кроме преобразования stdClass в массив) в том, что массив столбцов можно использовать любым способом, который вы считаете нужным.
Было бы более полезно, если бы вы могли хранить все данные в виде массива, тогда вы можете легко использовать функции массива, доступные на нем.