PHP转换嵌套数组格式

时间:2016-09-21 02:36:36

标签: php arrays loops multidimensional-array foreach

我有以下数组包含2个元素:

$attribute_metric = array(2) 
{
  [0]=>
  array(2) {
    [0]=>
    string(5) "white"
    [1]=>
    string(6) " Black"
  }
  [1]=>
  array(3) {
    [0]=>
    string(1) "S"
    [1]=>
    string(2) " L"
    [2]=>
    string(2) " M"
  }
}

我希望以一种方式连接它的元素,我得到一个包含6个元素的数组,其中每个元素应该看起来像这样

[option_value] => Array(
  [0] => Array(
    [value] => white
  )

  [1] => Array(
    [value] => S
  )
)

我尝试了以下但我仍然无法接近我想要实现的目标:

$final_attribute_metric = array();
        foreach ($attribute_metric[0] as $first_attribute) {
            foreach ($attribute_metric[1] as $second_attribute) {
                $final_attribute_metric[] = [$first_attribute,$second_attribute];
            }
        }

1 个答案:

答案 0 :(得分:2)

我不确定你究竟想要提出什么......但是如果你想尝试将每个数组大小连接到每个颜色数组中......然后你可以做以下......

$new = [];
foreach( $attribute_metric[0] as $colors ) {

  foreach( $attribute_metric[1] as $size ) {
     array_push( [ ['value'=>$color],['value'=>$size] ] );     
  }

}

结果应该是......

SixElementsArr = [

  0 => [
         0 => ['value'=>'white']
         1 => ['value'=>'S']
       ]
...//so on
]