关于数组的练习题

<?php
// 已知
$input = [
    ['value_id'=>1, 'value_name'=>'红', 'prop'=>['prop_id'=>1, 'prop_name'=>'颜色']],
    ['value_id'=>2, 'value_name'=>'黄', 'prop'=>['prop_id'=>1, 'prop_name'=>'颜色']],
    ['value_id'=>3, 'value_name'=>'大', 'prop'=>['prop_id'=>2, 'prop_name'=>'尺寸']],
];

$dd = [];
foreach ($input as $key => $value) {
    $var = $value['prop']['prop_id'];
    if (!isset($dd[$var])) {
        $dd[$var]=[
            'prop_id'=>$var,
            'prop_name'=>$value['prop']['prop_name']
        ];
        $dd[$var]['prop_value_list'][] = [
            'value_id'=>$value['value_id'],
            'value_name'=>$value['value_name']
        ];
    } else {
        $dd[$var]['prop_value_list'][] = [
                'value_id'=>$value['value_id'],
                'value_name'=>$value['value_name']
                ];
    }
}
echo json_encode($dd);

// *结果
$output = [
    ['prop_id'=>1, 'prop_name'=>'颜色', 'prop_value_list'=>[
            ['value_id'=>1, 'value_name'=>'红'],
            ['value_id'=>2, 'value_name'=>'黄']
        ]
    ],
    ['prop_id'=>2, 'prop_name'=>'尺寸', 'prop_value_list'=>[
            ['value_id'=>3, 'value_name'=>'大']
        ]
    ]
];

 

相关文章:

  • 2021-07-24
  • 2021-09-30
  • 2021-10-24
  • 2021-09-01
  • 2022-12-23
  • 2021-06-03
  • 2022-12-23
  • 2021-11-15
猜你喜欢
  • 2022-12-23
  • 2021-08-09
  • 2021-06-03
  • 2022-12-23
  • 2021-08-20
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案