繁体   English   中英

用数组中的关联键替换数字数组键

[英]Replace numeric array keys with associative keys from array

我有一个与此类似的数据集,其中我试图将DATA中的数字键值替换为COLUMNS中的相应值。 我可以循环执行此操作,但我认为我没有以最有效的方式进行操作。 有人可以建议我没有考虑过的任何不错的功能吗?

现有风格

stdClass Object
(
    [COLUMNS] => Array
        (
            [0] => MATCHID
            [1] => SEASON
            [2] => COMPETITION
            [3] => ROUNDID
            [4] => ROUNDSORT
            [5] => ROUNDNAME
        )

    [DATA] => Array
        (
            [0] => Array
                (
                    [0] => 141627
                    [1] => 2013/2014
                    [2] => The Scottish Cup
                    [3] => 18
                    [4] => 11
                    [5] => Final
                )

            [1] => Array
                (
                    [0] => 140895
                    [1] => 2013/2014
                    [2] => The Scottish Cup
                    [3] => 16
                    [4] => 10
                    [5] => Semi-Final
                )
        )
)

期望的风格

stdClass Object
(
    [COLUMNS] => Array
        (
            [0] => MATCHID
            [1] => SEASON
            [2] => COMPETITION
            [3] => ROUNDID
            [4] => ROUNDSORT
            [5] => ROUNDNAME
        )

    [DATA] => Array
        (
            [0] => Array
                (
                    [MATCHID] => 141627
                    [SEASON] => 2013/2014
                    [COMPETITION] => The Scottish Cup
                    [ROUNDID] => 18
                    [ROUNDSORT] => 11
                    [ROUNDNAME] => Final
                )
            [1] => Array
                (
                    [MATCHID] => 140895
                    [SEASON] => 2013/2014
                    [COMPETITION] => The Scottish Cup
                    [ROUNDID] => 16
                    [ROUNDSORT] => 10
                    [ROUNDNAME] => Semi-Final
                )
        )
)
foreach ($data->DATA as $key => $array) {
    $data->DATA[$key] = array_combine($data->COLUMNS, $array);
}

$data是您显示的对象。

循环遍历数据并将键与数据组合,请参阅array_combine

$data->DATA = array_map(function (array $entry) use ($data) {
    return array_combine($data->COLUMNS, $entry);
}, $data->DATA);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM