PHP转换嵌套数组格式



我有一个包含两个元素的数组:

$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];
            }
        }

我不知道你到底想说什么…但是如果你试图将每个大小数组连接到每个颜色数组。然后您可以执行以下操作…

$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
]

相关内容

  • 没有找到相关文章