一、簡介
我要實(shí)現(xiàn)這樣一個(gè)表達(dá)式
z=總獎金
n=總名數(shù)
i=自己的排民
((n-i+1)/(1+2+3+…n))*z
這是一個(gè)分配獎金的式子。我試著用php的bc函數(shù)進(jìn)行操作發(fā)現(xiàn)以下兩種寫法得出不一樣的結(jié)果
表達(dá)式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 ) ; 表 達(dá) 式 2 : reward['Leaderboard'],0); 表達(dá)式2: reward[′Leaderboard′],0);表達(dá)式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);
二、現(xiàn)象
1.我代碼
//根據(jù)時(shí)間計(jì)算排名獎勵
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;
}
用表達(dá)式1得出結(jié)果:
用表達(dá)式2得出以下結(jié)果:
到此這篇關(guān)于php bcdiv和bcmul 函數(shù)的怪異現(xiàn)象的文章就介紹到這了,更多相關(guān)php bcdiv和bcmul 函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- 正則表達(dá)式之零寬斷言實(shí)例詳解【基于PHP】
- 詳解各種PHP函數(shù)漏洞
- PHP危險(xiǎn)函數(shù)禁用深入詳解
- php中使用array_filter()函數(shù)過濾數(shù)組實(shí)例講解
- php array_map()函數(shù)實(shí)例用法
- PHP執(zhí)行系統(tǒng)命令函數(shù)實(shí)例講解
- PHP超級全局變量、魔術(shù)變量和魔術(shù)函數(shù)匯總整理
- python如何調(diào)用php文件中的函數(shù)詳解
- PHP中斷言函數(shù)的使用詳解