说明:
此代码实现的功能:根据价格折扣率,计算不同等级(在tree中一级或者二级)的价格
admin_id和parent_admin_id是关联id
第一个foreach是把数组中的父id做键值
$info = $this->get_list_bysql("select admin_id,cs.id,discount,parent_admin_id,goods_id,parent_price,price from charge_shop cs left
JOIN charge_api_user_goods ug on cs.id = ug.user_id where goods_id=$id");
foreach ($info as $k => $v) {
$group_list[$v['parent_admin_id']][] = $v;
}
$priceinfo = jisuan($group_list,$data['price']);
function jisuan(&$list = array(),$price,$pid = 0){
if (empty($list) || !is_array($list)) {
return false;
}
$price_arr = array();
//dump($list[$pid]);//是把原来的数组变小一维
foreach ($list[$pid] as $k => $v) {
$price_arr[$v['id']]['price'] = $v['discount'] * $price + $price;
$price_arr[$v['id']]['parent_price'] = $price;
if (isset($list[$v['admin_id']])) {
$arr = jisuan($list, $price_arr[$v['id']]['price'], $v['admin_id']);
}
}
foreach ($arr as $k => $v) {
$price_arr[$k] = $v;
}
return $price_arr;
}