繁体   English   中英

如何在php中的多维数组中设置键

[英]How to set keys in a multidimentional array in php

我在php中有疑问,我想为它设置键和值的关联数组。 我有一个数组$ headers和一个变数数组$ data,如下所示:

$headers=(
    [0] => Testcase Name
    [1] => Cell Name
    [2] => Customer
    [3] => Flops
    [4] => Title
    [5] => Status
    [6] => Mfix CCR(open/close)
    [7] => Scenerio-Brief Description
    [8] => Expected Results
    [9] => CCR Status
    [10] => CCR No.
    [11] => Remarks
    [12] => Testcase Path
)

$data=(
    [0] => Array
        (
            [0] => /a/b/c
            [1] =>
            [2] =>
            [3] =>
            [4] =>
            [5] => Done
            [6] => close
            [7] => 2D Elastic with scanformat=parallel
            [8] => No miscompares for both scan and logic tests
            [9] =>
            [10] => 1716280
            [11] =>
            [12] =>
        )

    [1] => Array
        (
            [0] => /x/y/z
            [1] =>
            [2] =>
            [3] =>
            [4] =>
            [5] => Done
            [6] => close
            [7] => 2D Elastic with scanformat=parallel & explicitshifts
            [8] => No miscompares for both scan and logic tests
            [9] =>
            [10] => 1717028
            [11] =>
            [12] =>
        )

    [2] => Array
        (
            [0] => /a/p/q
            [1] =>
            [2] =>
            [3] =>
            [4] =>
            [5] => Done
            [6] =>
            [7] => Error if explicitshifts greater than scan length
            [8] => No miscompares for both scan and logic tests
            [9] =>
            [10] =>
            [11] =>
            [12] =>
        )

    [3] => Array
        (
            [0] => /s/m/p
            [1] =>
            [2] =>
            [3] =>
            [4] =>
            [5] => Done
            [6] =>
            [7] => 2D Elastic + wide 1 Masking with scanformat=parallel
            [8] => No miscompares for both scan and logic tests
            [9] =>
            [10] =>
            [11] =>
            [12] =>
        )

)

我想设置数字键[0] .... [12] 作为$ headers数组的值。 表示我想替换[0] .... [12] $ header [0] .... $ headers [12]。

请提供解决方案。

使用array_combine

$dataWithKeys = [];
foreach ($data as $row) {
    $dataWithKeys[] = array_combine($headers, $row);
}
$result = array();
foreach($data as $key => $val){
    $temp = array(); 
    foreach($val as $k => $v){
       $temp[$header[$k]] = $v; 
    }
    $result[] = $temp;
}

暂无
暂无

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

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