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

时间:2017-08-08 05:26:34

标签: php arrays

我对php有疑问我想设置一个关联数组,我有关键,以及值。  我有一个数组$ headers和一个mutidimentional数组$ 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]。

请提供解决方案。

2 个答案:

答案 0 :(得分:2)

使用array_combine

$dataWithKeys = [];
foreach ($data as $row) {
    $dataWithKeys[] = array_combine($headers, $row);
}

答案 1 :(得分:0)

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