一:
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']数组中最终只有一个元素,不知道怎么回事?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
第二种写法每次都是重新定义
$param_aray[ $param->field['param_group_id'] ]这个元素,当$param->field['param_group_id']重复的时候会造成对$param_aray[ $param->field['param_group_id'] ]的覆盖,看 DEMO 更清楚一点: