php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #20365 the modulo operator % doesn't work with negative integers!
Submitted: 2002-11-11 09:40 UTC Modified: 2002-11-11 11:51 UTC
From: Ernest at Beinrohr dot sk Assigned:
Status: Not a bug Package: Math related
PHP Version: 4.2.2 OS: linux
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 you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: Ernest at Beinrohr dot sk
New email:
PHP Version: OS:

 

 [2002-11-11 09:40 UTC] Ernest at Beinrohr dot sk
PHP's modulo operator cannot work with negative numbers. The positive ones work fine, but modulo is defined also on negatives ;-)


ex:  10%3  = 1  [php gives 1]
     -4%10 = 6  [php gives NULL] 

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-11-11 09:51 UTC] derick@php.net
Works fine (it should output -4):

[derick@kossu derick]$ php
<?php
$a = -4 % 10;
var_dump($a);
?>
int(-4)

Please provide a short script that reproduces this problem.

Derick
 [2002-11-11 09:53 UTC] sniper@php.net
Please try using this CVS snapshot:

  http://snaps.php.net/php4-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php4-win32-latest.zip

works fine here too..(with 4.3.0-dev) so try the snapshot.

 [2002-11-11 11:09 UTC] Ernest at Beinrohr dot sk
Yes, you are right, the output is not NULL, it's -4. 

BUT, it should be 6. 


PS: but bc gives -4 too, now I do not understand. I suppose, BC is wrong too. It should be 6. [ -4=6 (mod 10) ]
 [2002-11-11 11:51 UTC] derick@php.net
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php

No, it should be -4. If even BC says it who are we to go into that?
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 16:01:28 2024 UTC