Shift off the first item to get the keys:
$keys = array_shift($array);
Then map array_combine
over the rest of it using the array of keys.
$result = array_map(function($values) use ($keys) {
return array_combine($keys, $values); }, $array);
Based on the code shown in your edit, it looks like you could actually do this as you build the array instead if you replace $rows[] = $cells;
with:
if (isset($keys)) {
$rows[] = array_combine($keys, $cells);
} else {
$keys = $cells;
}
No comments:
Post a Comment