#23604 [Ver]: Problem with negative indices

From: 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

« previous php.bugs (#39603) next »