ホームページ >バックエンド開発 >PHPチュートリアル >これはバグですか?何をするか
これはバグですか?
echo 3232238115 % 256; //-221
-----解決策---------
考慮する必要があります。PHP のモジュロは整数用のようです
マニュアルを見てください。誰かが大きな整数用のモジュロを書いています
<br />function my_bcmod( $x, $y ) {<br /> $take = 5;<br /> $mod = '';<br /> do{<br /> $a = (int)$mod.substr( $x, 0, $take );<br /> $x = substr( $x, $take );<br /> $mod = $a % $y;<br /> echo $a.'-'.$x.'-'.$mod.'<br>';<br /> }<br /> while ( strlen($x) ); <br /> return (int)$mod; <br />}<br /><br />echo my_bcmod( "7044060001970316212900", 150 );//50<br /><br />/*<br />070440-60001970316212900-90<br />9060001-970316212900-1<br />197031-6212900-81<br />8162129-00-29<br />2900--50<br />*/