2
私は以下のようにモジュロ演算子を使用していますが、実行すると$new
に割り当てられたDivision by zero
エラーが報告されます。これをどうすれば解決できますか?モジュロの結果が「除算」エラー
$per = 0.2;
$a = 20;
$new = $a % $per;
私は以下のようにモジュロ演算子を使用していますが、実行すると$new
に割り当てられたDivision by zero
エラーが報告されます。これをどうすれば解決できますか?モジュロの結果が「除算」エラー
$per = 0.2;
$a = 20;
$new = $a % $per;
例では、$per
は浮動小数点数(0.2)です。モジュロ演算子のみPHP manual当たり、2つの整数オペランドを受け入れる:モジュロの
オペランドは、処理前(小数部分を除去することによって)整数に変換されます。浮動小数点のモジュロについては、
fmod()
を参照してください。
演算子は整数オペランドのみを受け入れるため、値0.2の$per
は0に変換され、エラーが発生します。マニュアルに示唆されているように、
$new = fmod($a, $per);
のように
fmod
を使用することができます。