ID:               20548
 User updated by:  prgallier at yahoo dot com
 Reported By:      prgallier at yahoo dot com
 Status:           Wont fix
 Bug Type:         Scripting Engine problem
 Operating System: Linux 2.4
 PHP Version:      4.3.2-dev
 New Comment:

There are plenty of workarounds, but the problem is the lack of
consistency.  Either you can or you can't use uninitialized variables. 
If you can use $test[0]++ you should be able to use $test[0]-- as well
(no, I don't think they should drop the ability to use direct
increments/decrements).


Previous Comments:
------------------------------------------------------------------------

[2003-09-27 16:47:47] [EMAIL PROTECTED]

IMO, using unitialized variables should cause a FATAL error.
Just initialize the variables you use.


------------------------------------------------------------------------

[2003-09-27 14:38:53] lew at mailduct dot com

PHP 4.3.3 on FreeBSD 4.8-RELEASE:
<?php

//  Increment some blank/empty variables...
$pos++; $pos++; $pos++;
$neg--; $neg--; $neg--;
//  Show them to us now...
print( "pos = $pos\n" );
print( "neg = $neg\n" );

//  Now do it another way (forced typecast)...
$ppp += 1; $ppp += 1; $ppp += 1;
$nnn -= 1; $nnn -= 1; $nnn -= 1;
//  Show them to us now...
print( "ppp = $ppp\n" );
print( "nnn = $nnn\n" );

#
#  Expected:
#    pos = 3    ppp = 3
#    neg = -3   nnn = -3
#
#  Actual:
#    pos = 3    ppp = 3
#    neg =      nnn = -3
?>

------------------------------------------------------------------------

[2003-09-27 14:36:59] lew at mailduct dot com

This is a GROSS inconsistency in how the increment/decrement operators
work, and one that coders are likely to stumble upon the hard way.
Please study the effect of fixing this, at the expense of breaking a
long-time quirk in BC. Breaking a quirk, and documenting it on the BC
page, is better than maintaining a GROSS inconsistency in one of the
basic language construct operators!  Please fix this!

------------------------------------------------------------------------

[2003-08-03 12:57:49] [EMAIL PROTECTED]

This is a valid bug, however a fix would be a BC break that would
result in a beahviour change that was in place since 3.0 days.

------------------------------------------------------------------------

[2003-02-14 17:14:59] bulletbait at yahoo dot com

I just stumbled across this bug recently with an older version (4.1.1)
of PHP on Win32 -- verified that it still exists in 4.3.0.  This one
had me going in circles trying to debug.  Work-arounds:

  $score[$num] -= 1;

or
  $score[$num] = $score[$num] - 1;

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/20548

-- 
Edit this bug report at http://bugs.php.net/?id=20548&edit=1

Reply via email to