关于数组的练习题
<?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'=>'大']
]
]
];