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

 ID:               51781
 Comment by:       feng_evan at yahoo dot com
 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:

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


Previous Comments:
------------------------------------------------------------------------
[2010-05-10 10:57:52] [email protected]

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