Edit report at http://bugs.php.net/bug.php?id=51781&edit=1

 ID:               51781
 Updated by:       johan...@php.net
 Reported by:      feng_evan at yahoo dot com
 Summary:          array index 0 problem
 Status:           Bogus
 Type:             Bug
 Package:          Arrays related
 Operating System: windows xp
 PHP Version:      5.2.13

 New Comment:

Well people expect that this will work:



$list = array('foo', 'bar', 'baz');

$value = $list[$_GET['id']];



And well, the behavior is like that >10 years even if it might be
considered bad breaking it is worse.


Previous Comments:
------------------------------------------------------------------------
[2010-05-10 17:32:29] feng_evan at yahoo dot com

yes,i can see. "If you compare an integer with a string, the string is
converted to a number. If you compare two numerical strings, they are
compared as integers. These rules also apply to the switch statement. "



but,unacceptable intuitively

------------------------------------------------------------------------
[2010-05-10 10:57:52] johan...@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

numeric indexes are stored as integers, comparing integer 0 with a
string not starting with a digit gives true as the string is casted to
an integer.



Expected, documented, behavior. Won't change.

------------------------------------------------------------------------
[2010-05-10 09:35:52] feng_evan at yahoo dot com

Description:
------------
Array index value judgments must use absolute equal?

Test script:
---------------
$arr = array();

$arr['0'] = 'zero';

$arr['keyword'] = 'keyword';

foreach($arr as $key => $val) {

    if ($key == 'keyword') {

    //if ($key === 'keyword') { //ok

        echo $val."\n";

    }

}

//output:zero keyword



------------------------------------------------------------------------



-- 
Edit this bug report at http://bugs.php.net/bug.php?id=51781&edit=1

Reply via email to