打破数组并在php中创建新数组

问题描述 投票:1回答:1

我有以下数组$data

 Array
(
    [0] => Array
        (
            [sku] => 049-1090
            [color] => Beige,Brown
            [Finish] => Distressed,Handscraped,Matt
            [Grade] => B (Select/Advantage)
            [Installation Location] => Second Floor,Main Floor
            [Installation Method] => Nail Down
            [Specie] => Maple
            [Warranty] => 25 Years
            [Width] => 5 inch
        )

    [1] => Array
        (
            [sku] => 107-1079
            [color] => Brown,Yellow
            [Edge] => Square Edge
            [Finish] => Matt
            [Grade] => B (Select/Advantage)
            [Installation Location] => Second Floor,Main Floor
            [Installation Method] => Glue Down,Nail Down
            [Specie] => Maple
            [Warranty] => 25 Years
            [Width] => 3 5/8 inch
        )
    )

现在,我想创建一个仅包含2个键的数组$final_array。第一个键是sku,第二个键是featurefeature键将包含除sku以外的所有其他键的值,将,处的值展开,因此最终数组将如下所示:

    (
    [sku]=>049-1090
    [feature]=>color:Beige
)
 (
    [sku]=>049-1090
    [feature]=>color:Brown
)
(
    [sku]=>049-1090
    [feature]=>Finish:Distressed
)
(
    [sku]=>049-1090
    [feature]=>Finish:Handscraped
)
(
    [sku]=>049-1090
    [feature]=>Finish:Matt
)

以此类推,第二个sku

我尝试过这样:

$final_array = array();
foreach($data as $value){

   foreach($value as $innerkey=>$innervalue){

            $final_array[] = ['sku'=>$innerkey,'feature'=>$innervalue];

   }

}


echo "<pre>";
print_r($final_array);
echo "</pre>";
php arrays
1个回答
1
投票

尝试一下:

© www.soinside.com 2019 - 2024. All rights reserved.