Edit report at https://bugs.php.net/bug.php?id=44545&edit=1
ID: 44545 Comment by: william at piecewise dot com Reported by: info at concept47 dot com Summary: Numeric keys in sessions fail silently Status: Not a bug Type: Bug Package: Session related Operating System: Windows Xp sp2 PHP Version: 5.2.5 Block user comment: N Private report: N New Comment: I would have to agree. I had no idea about this rule for session vars and as a result lost about an hour and a half before I stumbled across this post. Previous Comments: ------------------------------------------------------------------------ [2008-03-27 12:46:57] info at concept47 dot com And as this $_SESSION is "special" we can not add any errors when it's passed invalid data --- can you elaborate more on this? because that it is what I don't understand. Why will $1234 = "me"; fail fantastically but ... $_SESSION['1234'] = "me" not. ------------------------------------------------------------------------ [2008-03-27 11:31:14] j...@php.net And as this $_SESSION is "special" we can not add any errors when it's passed invalid data. You just have to _know_ this. ------------------------------------------------------------------------ [2008-03-27 11:30:28] j...@php.net RTFM: "The keys in the $_SESSION associative array are subject to the same limitations as regular variable names in PHP, i.e. they cannot start with a number and must start with a letter or underscore. For more details see the section on variables in this manual. " Found at http://php.net/session ------------------------------------------------------------------------ [2008-03-27 10:42:02] info at concept47 dot com Description: ------------ trying to use numeric keys for sessions vars, fails, silently. This is bad and can lead to lost hours/money for developer. I am just asking for this sort of assignment to fail in a far more obvious manner. Reproduce code: --------------- $_SESSION['1234'] = "boooo!" Expected result: ---------------- I expect the session variable to be stored or else fail miserably like this assignment would $123 = "dummy!" Actual result: -------------- the session variable with a numeric key is never stored ... and it might take a developer a while to figure out why, as other session vars are stored just fine. ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=44545&edit=1