#34648 [Opn->Fbk]: isset false positive on key to string
ID: 34648
Updated by: marcot@php.net
Reported By: ira at cmiware dot com
-Status: Open
+Status: Feedback
Bug Type: Arrays related
Operating System: slackware
PHP Version: 5.1.0RC1
New Comment:
Please try using this CVS snapshot:
http://snaps.php.net/php5-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5-win32-latest.zip
Works for me with the latest CVS version.
Previous Comments:
------------------------------------------------------------------------
[2005-09-26 19:27:34] ira at cmiware dot com
reproduce code should be:
$myarray['parts']['test'] = 1;
var_dump(isset($myarray['parts']['test']));
var_dump(isset($myarray['parts']['test4']));
var_dump(isset($myarray['parts'][0]));
var_dump(isset($myarray['parts'][1]));
var_dump(isset($myarray['parts'][2]));
var_dump(isset($myarray['parts'][3]));
var_dump(isset($myarray['parts'][4]));
------------------------------------------------------------------------
[2005-09-26 19:25:01] ira at cmiware dot com
Description:
------------
isset() returns a false positive when testing if an array key is valid,
as in:
Reproduce code:
---------------
$myarray['parts'][1] = 'test';
var_dump(isset($myarray['parts'][1]['test']));
var_dump(isset($myarray['parts'][1]['test4']));
var_dump(isset($myarray['parts'][1][0]));
var_dump(isset($myarray['parts'][1][1]));
var_dump(isset($myarray['parts'][1][2]));
var_dump(isset($myarray['parts'][1][3]));
var_dump(isset($myarray['parts'][1][4]));
Expected result:
----------------
bool(true)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
Actual result:
--------------
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(false)
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=34648&edit=1
Thread (4 messages)