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

 ID:                 61140
 Updated by:         ras...@php.net
 Reported by:        imlivv at gmail dot com
 Summary:            foreach such array('str' => 'str', 0 => 0), compare
                     key and 'str' error
-Status:             Open
+Status:             Not a bug
 Type:               Bug
 Package:            Arrays related
 Operating System:   windows and *nix
 PHP Version:        5.3SVN-2012-02-20 (SVN)
 Block user comment: N
 Private report:     N

 New Comment:

Use === to do a strict comparison without type juggling. More info here:

http://www.php.net/manual/en/language.operators.comparison.php


Previous Comments:
------------------------------------------------------------------------
[2012-02-20 10:06:12] imlivv at gmail dot com

Description:
------------
iterate an array which included both int(0) and string type key with foreach, 
and 
compare key and string value, get an error result! 

Test script:
---------------
$test = array(
    'str' => 'str',
    0 => 0,
    1 => 1
);

foreach ($test as $k=>$v) {
    if ('str' == $k)
        echo "$k == str \n";
}

Expected result:
----------------
output 'str == str ' only

Actual result:
--------------
output: 
str == str 
0 == str 


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



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

Reply via email to