首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

php计算优惠信息 求计算算法 多谢

2012-05-20 
php计算优惠信息 求计算算法 谢谢PHP code$arrarray(item_info_list Array(0 Array(sku_id

php计算优惠信息 求计算算法 谢谢

PHP code
$arr=array('item_info_list' => Array                                (                                    '0' => Array                                        (                                            'sku_id' => '1003244250',                                            'ware_id' => '1001418658',                                            'jd_price' => '269.00',                                            'sku_name' => '百事PEPSI 男式板鞋 2012新款夏季透气舒适男款经典休闲板鞋 猎人绿 40',                                            'outer_sku_id' => '40872121106',                                            'product_no' => '872121101 872121102 872121104 872121105',                                            'gift_point' => '0',                                            'item_total' => '1',                                        )                                    ,                                    '1' => Array                                        (                                            'sku_id' => '1003244255',                                            'ware_id' => '1001418658',                                            'jd_price' => '269.00',                                            'sku_name' => '百事PEPSI 男式板鞋 2012新款夏季透气舒适男款经典休闲板鞋 暗红 39',                                            'outer_sku_id' => '39872121105',                                            'product_no' => '872121101 872121102 872121104 872121105',                                            'gift_point' => '0',                                            'item_total' => '1',                                        )                                )                            ,                            'coupon_detail_list' => Array                                (                                    '0' => Array                                        (                                            'order_id' => '213978711',                                            'sku_id' => '1003244250',                                            'coupon_type' => '30-单品促销优惠',                                            'coupon_price' => '170.00',                                        )                                    ,                                    '1' => Array                                        (                                            'order_id' => '213978711',                                            'sku_id' => '1003244255',                                            'coupon_type' => '30-单品促销优惠',                                            'coupon_price' => '170.00',                                        )                                ))


求计算实际价格的算法 有时候'item_info_list' 子数组里只有一个商品 'coupon_detail_list' 子数组里只有一个优惠信息
而有时候候'item_info_list' 子数组里只有一个商品 'coupon_detail_list' 子数组里没有优惠信息,有时候'item_info_list' 子数组里只有两个商品 'coupon_detail_list' 子数组里只有一个优惠信息,有时候'item_info_list' 子数组里只有两个商品 'coupon_detail_list' 子数组里有两个优惠信息, 求大神指导 !




[解决办法]
你最后想要什么结果。
[解决办法]
//先预处理一下
foreach($arr['item_info_list'] as $v) $item_info_list[$v['sku_id']] = $v;
foreach($arr['coupon_detail_list'] as $v) $coupon_detail_list[$v['sku_id']] = $v;


foreach($item_info_list as $k=>$v)
echo "sku_id:$k price:" . isset($coupon_detail_list[$k]) ? $coupon_detail_list[$k]['coupon_price'] : $v['jd_price'], "<br />\n";

[解决办法]
PHP code
foreach ($arr['item_info_list'] as $key=>$val){    if(isset($arr['coupon_detail_list'][$key]))        $arr['item_info_list'][$key] = array_merge($val, $arr['coupon_detail_list'][$key]);}print_r($arr); 


[解决办法]
foreach ($arr['item_info_list'] as $key=>$val)
{
if(isset($arr['coupon_detail_list'][$key]))
{
$arr['item_info_list'][$key] = array_merge($val, $arr['coupon_detail_list'][$key]);
$arr['item_info_list'][$key]['price'] = $val['jd_price'] - $arr['coupon_detail_list'][$key]['coupon_price'];
}
}



print_r($arr['item_info_list']);



什么都有了
[解决办法]

PHP code
foreach($arr['item_info_list'] as $v) $item_info_list[$v['sku_id']] = $v;foreach($arr['coupon_detail_list'] as $v) $coupon_detail_list[$v['sku_id']] = $v;foreach($item_info_list as $k=>$v)  echo "coupon_type:{$coupon_detail_list[$k]['coupon_type']} price:" . ($v['jd_price'] - ( isset($coupon_detail_list[$k]) ? $coupon_detail_list[$k]['coupon_price'] : 0)) . "<br />\n";
[解决办法]
你把数据结构改一下,算法就简单了

而况数据都是从数据库中读出来的
读出时关联一下什么都有了,何必劳烦 php 慢慢去算
[解决办法]
噢!
其实我给的算法已经很简单了
#4 和 #7 的代码是不能用的,没有把商品和优惠对应起来

热点排行