プロが教えるわが家の防犯対策術!

PHPの%演算子は処理の前に計算式に含まれるfloatがintへ変換されますが、なぜこのような設計になっているのか教えてください。

A 回答 (2件)

なにを言いたいのかわかりませんが


$a=23.4;
$b=$a%3;
var_dump($a);
var_dump($b);

別に$aはint化しませんが、剰余を得るには$aが整数でないと
ロジックがおかしくなるからじゃないですか?
    • good
    • 0

PHPの歴史


https://www.php.net/manual/ja/history.php.php

おそらくそこまでの精度は必要なかったからだと思います。

代数演算子
https://www.php.net/manual/ja/language.operators …

剰余演算子は、まず両方のオペランドを整数に直し (小数点以下を切り捨てます) てから処理を行います。
浮動小数点の剰余については fmod() を参照ください。

後に必要になったためfmod()が追加された。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!