ホームページ >バックエンド開発 >PHPチュートリアル >負の数を返す PHP 整数剰余の関連ソリューション_PHP チュートリアル

負の数を返す PHP 整数剰余の関連ソリューション_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-15 13:32:25747ブラウズ

例を見てみましょう 先 $ res = 16244799483;

echo $ res%9999999;

// 出力結果は -5069794 ですが、正しい結果は 4801107 になるはずです 実際、これも PHP と見なされます。バグ。主な理由は、PHP にはユーザーの型を決定するための組み込みの機械があるためです。したがって、現時点では手動介入が必要です。

そこで、PHP の整数の剰余が負の数を返す問題を解決することを考えました。

$res = floatval($res %) 9999999);

結果はまだ間違っていることがわかります -5069794。

しかし、戻り値が int 型であることは注目に値します。

PHP の整数の剰余が負の数を返す問題について詳しく考えてみましょう。このように処理されます。

PHP の剰余はデフォルトでは整数です。

そして、$res = 16244799483;

を定義すると、実際にはオーバーフローするため、float 型になるように強制的な型変換を追加する必要があります。

しかし、これは% のモジュロ計算はまだ整数用なので十分ではありません。

したがって、fmod 関数が必要です。これは、PHP 整数剰余が負の数を返すための最終的な解決策です。 floatval(16244799483);

var_dump(fmod($res,9999999));

このようにして、PHP の整数の剰余が負の数を返す問題を解決します。:)

http://www.bkjia.com/PHPjc/446135.html

www.bkjia.com

tru​​e


http://www.bkjia.com/PHPjc/446135.html

技術記事

まず例を見てみましょう。 $res = 16244799483; echo $res%9999999; // 出力結果は -5069794 であり、正しい結果は 4801107 であるはずです。実際、これも PHP のバグとみなされます。重要なのは、PHP は...

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。