本篇文章给大家谈谈PHP百分比扣除怎么实现,以及php计算百分比对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录:
PHP怎么计算百分比
$rs[sum] //总数
$rs[row] //单个数
$cpl=round( $rs[row]/$rs[sum] * 100 , 2) . "%";
php的一个百分比统计问题
4个字段没错,但要增加一个字段用于排名,这个字段存平均值,即你上面的综合评分。
否则可能导致无法使用索引。
另外这个评分是10分制,而非100分制。
字段存储的值如:8.1,8.2等直接存储10分制数值就行。
score1-4的算法:
方法一:不计效率的话,直接从数据库sum就完了
SQL: SELECT company_id, count(*) as num, sum(score1) as score1,sum(score2) as score2,sum(score3) as score3, sum(score4) as score4 from 评分表 where company_id in(1,2,3) group by company_id ;
最终得到结果,示例算法: score1 = round(score1 / num, 1);
方法二:
如果考虑效率问题,比如评论数可能会草果万,十万,百万。
则建议再增加5个字段分别存储总评分值和总评分人数。
total_score1, total_score2, total_score3, total_score4, score_num,
每次评论时增加这两个值:total_score1 = total_score1+这次评分score1,score_num = score_num + 1
最终score1 = total_score1 / score_num;
综合评分: score5 = round((score1 + score2 + score3 + score4) / 4 ,1);
排名在显示时差数据库,假设当前score5 = $socre5:
select count(*) from company where score5$score5;
如果company 表很大,建议走计划任务跑数据。
如果表很大但我只要前100名,可以另外建一个表或者缓存,
然后在更新score5 时去判断是否在大于现在100名中的最小一名,如果是就把最小的踢掉,如果不是,就什么也不用做,当然如果这个本身就是这100名中的,那么可能比较麻烦,但是其实你不需要那么老实的存储100名,你可以存储150名,阵中用时就前100名,即便有人从100名中掉队,也可以从后面的50名中取一个上来替代到新的100名中。
请高手帮忙写个代码,PHP按百分比扣除费率,我的代码是这样的,例如,
?php
$total = 100;
$fee = 0.8;
function money($total, $fee)
{
return number_format($total - $total * $fee/100, 2, '.', ',');
}
echo money($total, $fee);
99.20 这样行不?
关于PHP百分比扣除怎么实现和php计算百分比的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。