当前位置:首页 > PHP教程 > php函数 > 列表

php bcdiv和bcmul函数的怪异现象

发布:smiling 来源: PHP粉丝网  添加日期:2022-04-21 19:02:02 浏览: 评论:0 

这篇文章主要介绍了php bcdiv和bcmul 函数的怪异现象,本文通过实例代码讲解的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下。

一、简介

我要实现这样一个表达式

z=总奖金

n=总名数

i=自己的排民

((n-i+1)/(1+2+3+…n))*z

这是一个分配奖金的式子,我试着用php的bc函数进行操作发现以下两种写法得出不一样的结果。

表达式1: a r r [ arr[ arr[i]=bcmul(bcdiv((51- i ) , i), i),num,2), r e w a r d [ ′ L e a d e r b o a r d ′ ] , 0 ) ; 表 达 式 2 : reward['Leaderboard'],0); 表达式2: reward[′Leaderboard′],0);表达式2:arr[ i ] = b c m u l ( b c d i v ( i]=bcmul(bcdiv( i]=bcmul(bcdiv(reward[‘Leaderboard'], n u m , 2 ) , ( 51 − num,2),(51- num,2),(51−i),0);

二、现象

1.我代码

  1. //根据时间计算排名奖励 
  2.     public function calculateTheReward($dateStr="2021-04-12 00:00:00"){ 
  3.         $reward=Login::table('dailyReward')->where(['dateStr'=>$dateStr])->find()->toArray(); 
  4.         $arr=[]; 
  5.         $num=1275; 
  6.         for ($i=1;$i<=50;$i++){ 
  7.             $arr[$i]=bcmul(bcdiv($reward['Leaderboard'],$num,2),(51-$i),0);//bcmul(bcdiv((51-$i),$num,2),$reward['Leaderboard'],0); 
  8.         } 
  9.         print_r($arr);die
  10.     } 

用表达式1得出结果:

php bcdiv和bcmul函数的怪异现象

用表达式2得出以下结果:

php bcdiv和bcmul函数的怪异现象

Tags: bcdiv bcmul

分享到: