PHP の割り算

 C 言語などでは、整数同士の割り算の結果は、整数になります。3 ÷ 2 の結果は 1 になります。

 ところが、PHP の結果は浮動小数になるので、3 ÷ 2 の結果は 1.5 になります。この結果は C 言語などに慣れていると予想外の結果なので注意する必要があります。

$ php
<?php
$n=3/2;
echo $n . "\n";
<-- ctrl+d を入力
1.5
$

 整数で割り算の結果を得るには、PHP7 以降の intdiv() を使います。

$ php
<?php
$n=intdiv(3,2);
echo $n . "\n";
<-- ctrl+d を入力
1
$

 intdiv() が使えない場合は、intval() を使うことになりますが、割り算では間違った結果を返すことがあるそうです。PHP7 以降であれば intdiv() を使ったほうが安全そうです。

プログラミング

Posted by sirius