|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #20102 wrong value on mod (%) function
Submitted: 2002-10-26 03:19 UTC Modified: 2002-10-26 14:37 UTC
From: hermawan at dmonster dot com Assigned:
Status: Not a bug Package: *Math Functions
PHP Version: 4.2.3 OS: Redhat Linux 7.3
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If this is not your bug, you can add a comment by following this link.
If this is your bug, but you forgot your password, you can retrieve your password here.
Bug Type:
From: hermawan at dmonster dot com
New email:
PHP Version: OS:


 [2002-10-26 03:19 UTC] hermawan at dmonster dot com
When I try to mod some integer, it returns false value, it's different with the calculator. Here is the example :

  $int = 700000000;
  $modwith = 1000000000000;
  print $int%$modwith; // it return 700000000
                       // this is correnct.
  $int = 800000000;
  print $int%$modwith; // it return 72620032
                       // this is false, it supposed to be 800000000


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2002-10-26 12:06 UTC]
your $modwidth value is way beyond the 
usable and valid range (unless you are
on a 64bit system ;)
 [2002-10-26 12:15 UTC] hermawan at dmonster dot com
I found the replacement of mod (%) which can be used with out of range value. The function is :

    function mod ($a, $b) {
      $rtn = $a;
      while ($rtn > $b) {
         $rtn -= $b;
      return $rtn;

It works with my other script and returning the correct value. Please try it.
 [2002-10-26 14:37 UTC]

  $modwith = 1000000000000;
  echo gettype($modwith);

PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Jun 15 04:01:30 2024 UTC