|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #16697 %= operator
Submitted: 2002-04-19 08:04 UTC Modified: 2002-04-19 16:00 UTC
From: spagnoli at dualservice dot it Assigned:
Status: Not a bug Package: *Math Functions
PHP Version: 4.0CVS-2002-04-19 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 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: spagnoli at dualservice dot it
New email:
PHP Version: OS:


 [2002-04-19 08:04 UTC] spagnoli at dualservice dot it
I've tried a trick I often use in C++; the PHP syntax should be identical:

while ([condition]) {
  $mystring= ++$a%=8 ? "A" : "B";

the value of $mystring should be "B" seven times and then "A" once, keeping the value of $a in the range [0..7].

If $a is useless for other purposes, the following gives the same result:

while ([condition]) {
  $mystring= ++$a%8 ? "A" : "B";

whith two differences:
$a is no loger necessarily in the range [0..7] and, above all, tha latter works, but tha former doesn't!

I've tried to parse "++$a" writing
  $mystring= (++$a)%=8 ? "A" : "B";

but it doesn't work.

Since this problem is related to operators, I don't think you need information about my modules or my system, but if I'm wrong ask me for that.
Thank you.


Davide Spagnoli


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2002-04-19 16:00 UTC]
Not a bug > bogus.
$a = ++$b = 1 is meaningless, you cannot assign values to ++$b or $b++.

PHP Copyright © 2001-2023 The PHP Group
All rights reserved.
Last updated: Fri Sep 22 23:01:24 2023 UTC