2016-09-04 11 views
2

私は以下のようにモジュロ演算子を使用していますが、実行すると$newに割り当てられたDivision by zeroエラーが報告されます。これをどうすれば解決できますか?モジュロの結果が「除算」エラー

$per = 0.2; 
$a = 20; 
$new = $a % $per; 

答えて

6

例では、$perは浮動小数点数(0.2)です。モジュロ演算子のみPHP manual当たり、2つの整数オペランドを受け入れる:モジュロの

オペランドは、処理前(小数部分を除去することによって)整数に変換されます。浮動小数点のモジュロについては、fmod()を参照してください。

演算子は整数オペランドのみを受け入れるため、値0.2の$perは0に変換され、エラーが発生します。マニュアルに示唆されているように、

$new = fmod($a, $per); 
のように fmodを使用することができます。