【问题标题】:PHP Convert Nested Array FormatPHP 转换嵌套数组格式
【发布时间】:2017-01-29 02:51:58
【问题描述】:

我有以下包含 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];
            }
        }

【问题讨论】:

    标签: php arrays loops multidimensional-array foreach


    【解决方案1】:

    我不确定您到底想提出什么...但是如果您尝试将每个大小数组连接到每个颜色数组..那么您可以执行以下操作...

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

    【讨论】:

    • 实际上我想要实现的是6个元素的数组(代表数组(白色,黑色)与(S,L,M)的组合),其中每个元素都包含“option_value”数组如问题所示(示例显示值'white'和'S',但我需要一个包含所有组合的数组)
    • 谢谢胜利者..这就是我想要的
    猜你喜欢
    • 1970-01-01
    • 2017-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-15
    • 2018-02-16
    • 1970-01-01
    • 2010-12-18
    相关资源
    最近更新 更多