#23604 [Ver]: Problem with negative indices
| From: | nicolas at van-lancker dot be | Date: | Wed, 14 May 2003 06:16:53 +0000 |
| Subject: | #23604 [Ver]: Problem with negative indices | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-39603@lists.php.net to get a copy of this message | ||
ID: 23604
User updated by: nicolas at van-lancker dot be
Reported By: nicolas at van-lancker dot be
Status: Verified
Bug Type: Scripting Engine problem
Operating System: any
PHP Version: 4.3.2-RC3-dev
New Comment:
Theoretically it should be fixed,
but as you said, it might result in practical problems :
backwards-compatibility issues.
If the option to not fix it is taken, the documentation needs to be
adapted and it becomes a documentation bug.
Thanks for looking at the problem and keep up the good work.
Previous Comments:
------------------------------------------------------------------------
[2003-05-13 16:28:35] sniper@php.net
With latest CVS I get this:
array(2) {
[-6]=>
string(2) "me"
[0]=>
string(3) "you"
}
Obvious bug..but should it be fixed is another question.
(the backwards-compatibility hell..)
------------------------------------------------------------------------
[2003-05-13 07:53:04] nicolas at van-lancker dot be
This is what the documentation says :
If you omit a key, the maximum of the integer-indices is taken, and the
new key will be that maximum + 1. As integers can be negative, this is
also true for negative indices. Having e.g. the highest index being -6
will result in -5 being the new key. If no integer-indices exist yet,
the key will be 0 (zero).
My code :
<?php
$arr[-6] = "me";
$arr[] = "you";
?>
"you" is not stored in $arr[-5] but in $arr[0]
$arr[-4] does not exist...
This behaviour is undesired I guess...
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=23604&edit=1