php bcdiv和bcmul 函数的怪异现象

admin3年前PHP教程59
一、简介

我要实现这样一个表达式
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.我代码


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

用表达式1得出结果:

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

到此这篇关于php bcdiv和bcmul 函数的怪异现象的文章就介绍到这了,更多相关php bcdiv和bcmul 函数内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

新加坡大带宽服务器购买配置怎么选择

新加坡大带宽服务器购买配置怎么选择?在购买新加坡大带宽服务器时,可以根据以下几个方面进行配置选择:带宽大小:根据自己的实际需求选择不同带宽大小的服务器。一般来说,大型网站或者需要高速互联网连接的应用需...

租赁韩国多ip服务器怎么样

租赁韩国多ip服务器怎么样?韩国多IP服务器租用具有很多优势,下面是一些常见的优势:提供多个IP地址:韩国多IP服务器能够为用户提供多个IP地址,用户可以将这些IP地址分别用于不同的应用程序和服务,从...

如何使用Serializable接口来自定义PHP中类的序列化

目录Serializable接口各种类型的数据进行序列化的结果对象在使用Serializable接口序列化时要注意的地方未定义类的反序列化操作总结关于PHP中的对象序列化这件事儿,之前我们在很早前的文...

phpstorm远程连接服务器并实时更新发布代码(thinkphp6.0.7)

想要phpstrom 远程连接上服务器,需要通过以下 步骤操作,具体操作跟随一起看看吧! step1 打开phpstorm tools->deployment->configur...

php并发加锁问题分析与设计代码实例讲解

在工作项目中,会遇到一些php并发访问去修改一个数据问题,如果这个数据不加锁,就会造成数据的错误。下面我将分析一个财务支付锁的问题。希望对大家有所帮助。1 没有应用锁机制1.1 财务支付简化版本代码&...

Linux服务器配置PHP文件下载,中文乱码问题,下载出错如何解决

俩个坑点1. 操作系统的编码问题windows上的默认编码是gbk,所以如果文件名采用的是中文,那么上传到Linux上面,由于默认编码是utf-8就会出现文件名乱码!解决办法,手动重命名2. PHP....