Edit report at https://bugs.php.net/bug.php?id=60552&edit=1
ID: 60552 Updated by: larue...@php.net Reported by: gmtfn at yahoo dot com Summary: Nonexistent array element is assigned a value -Status: Open +Status: Bogus Type: Bug Package: Arrays related PHP Version: 5.3.8 Block user comment: N Private report: N New Comment: 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 pseudo code: $params['search']['filter'] => 'search'["fileter"] => 'search'[0] => 's' Previous Comments: ------------------------------------------------------------------------ [2011-12-18 03:30:09] anon at anon dot anon It's an unfortunate quirk but it's not a bug. You're doing string access by character index. The string 'filter' gets parsed as an integer, which yields 0 since it's an invalid number, and the character at index 0 in the string '5' is '5'. See the warning here: http://www.php.net/manual/en/language.types.string.php#language.types.string.substr ------------------------------------------------------------------------ [2011-12-17 22:41:34] gmtfn at yahoo dot com Description: ------------ In the code sample provided, for some reason, $nonexistentElement gets assigned a value of 5. I'd expect this to trigger an error. Test script: --------------- $params = array('search'=>'5'); $nonexistentElement = $params['search']['filter']; ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=60552&edit=1