PHP多重判断优化(条件不同)

SenYi
  • 13

问题描述

场景:规则不同的多重循环,追溯7级上线。
定义的规则(写在config里面的)

相关代码

规则定义(写在config里面)

 'distribution' =>[
        'vip'   =>[//购买人等级为VIP的情况下
            'vip_platinum' => '0.05', //追溯到铂金,该铂金获得5%团队②奖
            'vip_platinum_platinum' => '0.02', //如果前方有同级拦截,则获得2%平级③奖
            'vip_diamond' => '0.07', //追溯到钻石,该钻石获得7%团队①奖
            'vip_diamond_diamond' => '0.04', //追溯到第二个钻石,有4%平级奖
            'vip_diamond_platinum' => '0.02', //如果前方有铂金拦截,则获得2%团队级差①奖
            'vip_two' => '0.03', //追溯到二级,该二级获得3%服务②奖
            'vip_two_two' => '0.01', //如果前方有同级,则获得1%平级①奖;
        ],
        'platinum' => [//购买人等级为铂金的情况下
            'platinum_platinum' => '0.02', //该铂金获得2%平级③奖
            'platinum_platinum_diamond' => '0.05', //如果是铂金  追溯到 铂金,拿了2%,再遇到钻石拿走5%
            'platinum_diamond' => '0.05', //该钻石获得5%领导②奖
            'platinum_diamond_diamond' => '0.02', //该钻石获得2%平级级差②奖
        ],
        'diamond' => [//购买人等级为钻石的情况下
            'diamond_diamond' => '0.04', //该钻石获得4%平级②奖
        ],
        'two' => [//购买人等级为二级代理的情况下
            'two_two' => '0.01', //追溯到二级,该二级获得 1%平级①奖(如果前方有同级或高级拦截,则无 )
            'two_one' => '0.01',//追溯到一级,该一级获得1 %领导①奖(如果前方有同级或高级拦截,则无)
        ],
    ],

笨方法

无限判断,每层判断上级的等级,如果不满足,追溯上级,直到第七级
图片描述

聪明的方法

请问还有什么聪明的方法吗??

回复
阅读 865
1 个回答
张胜利
  • 3
新手上路,请多包涵

没有明白你问题的描述。。。。能否细化一下?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏