Php 使用第一个元素作为键将索引多维数组转换为关联数组

Php 使用第一个元素作为键将索引多维数组转换为关联数组,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我正在竭尽全力,试图在PHP中使用索引数组的第一个元素作为关联数组的键,将索引多维数组转换为关联数组。我不确定我解释的不正确,所以请参阅下面的示例 这里是数组的一个片段,实际的数组在第二维度中有48个元素,我只是以3为例 [0] => Array ( [0] => fsn [1] => ac_type [2] => flt_type ) [1] => Array ( [0] =

我正在竭尽全力,试图在PHP中使用索引数组的第一个元素作为关联数组的键,将索引多维数组转换为关联数组。我不确定我解释的不正确,所以请参阅下面的示例

这里是数组的一个片段,实际的数组在第二维度中有48个元素,我只是以3为例

[0] => Array
    (
        [0] => fsn
        [1] => ac_type
        [2] => flt_type
    )

[1] => Array
    (
        [0] => 1219601
        [1] => 748
        [2] => SS
    )
[2] => Array
    (
        [0] => 1206869
        [1] => 748
        [2] => SS
    )
我想要的是:

[0] => Array
    (
        [fsn] => 1219601
        [ac_type] => 748
        [flt_type] => SS
    )
[1] => Array
    (
        [fsn] => 1206869
        [ac_type] => 748
        [flt_type] => SS
    )
到目前为止,我正在使用PHPSReadSheet将XLS文件中的信息提取到数组中。最终目标是将数据推送到mysql数据库

<?php
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($inputFileName);
$worksheet = $spreadsheet->getActiveSheet();
$rows = [];
foreach ($worksheet->getRowIterator() AS $row) {
    $cellIterator = $row->getCellIterator();
    $cellIterator->setIterateOnlyExistingCells(FALSE); // This loops through all cells,
    $cells = [];
    foreach ($cellIterator as $cell) {
        $cells[] = $cell->getValue();
    }
    $rows[] = $cells;
}

echo '<pre>';
print_r ($rows);
echo '</pre>';
?>


任何帮助都将不胜感激

移开第一项以获取钥匙:

$result = array_map(function($values) use ($keys) {
    return array_combine($keys, $values); }, $array);
然后使用键数组将
array\u combine
映射到它的其余部分

if (isset($keys)) {
    $rows[] = array_combine($keys, $cells);
} else {
    $keys = $cells;
}

根据编辑中显示的代码,如果替换
$rows[]=$cells,则在构建阵列时实际上可以这样做带有:


移开第一项以获取钥匙:

$result = array_map(function($values) use ($keys) {
    return array_combine($keys, $values); }, $array);
然后使用键数组将
array\u combine
映射到它的其余部分

if (isset($keys)) {
    $rows[] = array_combine($keys, $cells);
} else {
    $keys = $cells;
}

根据编辑中显示的代码,如果替换
$rows[]=$cells,则在构建阵列时实际上可以这样做带有:


我花了好几个小时想弄明白,但没用,你在几分钟内就搞定了!非常感谢你的帮助!!您基于我的编辑进行的编辑工作非常完美,并清理了我的代码。再次感谢!我花了好几个小时想弄明白,但没用,你在几分钟内就搞定了!非常感谢你的帮助!!您基于我的编辑进行的编辑工作非常完美,并清理了我的代码。再次感谢!