一:
while(!$param->end)
{
$param_array[$param->field['param_group_id']]['param_group_name'] = $param->field['param_group_name'];
$param_array[$param->field['param_group_id']]['values'][$param->field['param_id']]
= $param->field['param_name'];
$param->move_next();
}
二:
while(!$param->end)
{
$param_array[$param->field['param_group_id']] = array(
'param_group_name' => $param->field['param_group_name'],
'values' => array(
$param->field['param_id'] => $param->field['param_name']
)
);
$param->move_next();
}
while循环每次取$param->field中的一行数据,在第二中写法中$param_array['some_id']['values']数组中最终只有一个元素,不知道怎么回事?
第二种写法每次都是重新定义
$param_aray[ $param->field['param_group_id'] ]
这个元素,当$param->field['param_group_id']
重复的时候会造成对$param_aray[ $param->field['param_group_id'] ]
的覆盖,看 DEMO 更清楚一点: