Edit report at https://bugs.php.net/bug.php?id=42472&edit=1
ID: 42472 Comment by: aerosox at gmail dot com Reported by: jsnell at e-normous dot com Summary: $_SESSION[false] = 1; Notice: Unknown: Skipping numeric key 0. in Unknown on Status: Not a bug Type: Bug Package: Session related Operating System: 10.4.10 PHP Version: 5.2.3 Block user comment: N Private report: N New Comment: Just to elaborate a little bit on why this didn't work for future readers. register_globals. PHP 5.4 has removed support for register_globals, so going forward you can in fact use numeric keys with $_SESSION. $_SESSION is a super global variable and they were treated "special" with register_globals. One of the things that makes a super global special is that it exists in all scopes without needing to use the 'global' keyword. With register_globals the other thing that made it special is that it creates variables for all of the child elements automatically... again in all scopes. $_SESSION['username'] = 'Test'; The above would also set a variable $username = 'Test'; So if there was a $_SESSION[1] = 'Test'; It would attempt to set $1 = 'Test' which is not allowed. So when jani said it was not possible to change, what was meant was it was not possible to change without 6 years of planning to remove register_globals support. Previous Comments: ------------------------------------------------------------------------ [2012-11-03 13:45:42] aminviral2006 at gmail dot com Hi, I just encountered with this problem. my session was like $_SESSION[0]['someid'] and i changed it to $_SESSION['someid'][0] now it works fine. Hope this helps you ------------------------------------------------------------------------ [2011-05-17 19:39:10] fgutierrez at ticomotorsports dot com This is clearly a bug in PHP. The answer from j...@php.net leaves too much to desire. Seems like jani was "washing their hands" and leaving the problem to anyone else. ------------------------------------------------------------------------ [2007-08-30 09:16:06] j...@php.net Rebogused: This is not possible to change and that's how it works. ------------------------------------------------------------------------ [2007-08-29 20:57:19] nfor...@php.net This isn't exactly the problem. The problem is that the error message produced is incorrect -- not that the error shouldn't occur. It should not have an unknown file and a 0 line number, but rather the file and line number where the error occurred. This is probably superglobal-array-specific, and seems to apply to any numeric key. Reopening. ------------------------------------------------------------------------ [2007-08-29 20:23:52] j...@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 false/true/null/etc are not valid key names. Please read the manual for what is valid and what isn't. This is no bug. ------------------------------------------------------------------------ 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 https://bugs.php.net/bug.php?id=42472 -- Edit this bug report at https://bugs.php.net/bug.php?id=42472&edit=1