From: angeli at faccat dot br Operating system: Windows XP PHP version: 5.2CVS-2009-01-17 (CVS) PHP Bug Type: Unknown/Other Function Bug description: Bug ==
Description: ------------ Brazil - Português Não realiza a igualdade. Tenho um array serializado que busco na sessão, quando realizo uma comparação de um nodo do array com uma string está retornando como se fosse igual, mas não são iguais (==). O valor do array é 0 (zero) do tipo integer, e quando faço uma comparação (==) com uma string retorna true. Se faço a comparação com inteiro realiza corretamente a validação. Se eu realizo um trim() no array e faço a igualdade, ai realiza corretamente. Fiz um strlen() no array e o tamanho é 1. Se faço igualdade (===) a comparação está certa. Reproduce code: --------------- //array vindo da session, unserialize($_SESSION['menu']) Array ( [menu_2008311143334693] => Array ( [ordenador] => 0 [id] => 2008311143334693 [parentId] => 2008311143334693 [label] => Relatórios [action] => [help] => [imagem] => [filhos] => Array ( .... echo strlen($menuPermissaoUser['menu_2008311143334693']['ordenador']).'<br>'; echo gettype($menuPermissaoUser['menu_2008311143334693']['ordenador']).'<br>'; echo $menuPermissaoUser['menu_2008311143334693']['ordenador'].'<br>'; if($menuPermissaoUser['menu_2008311143334693']['ordenador'] == 'qualquer coisa') echo'IGUAL<br>'; if(trim($menuPermissaoUser['menu_2008311143334693']['ordenador']) == 'qualquer coisa') echo 'IGUAL<br>'; else echo 'NAO IGUAL<br>'; if($menuPermissaoUser['menu_2008311143334693']['ordenador'] === 'qualquer coisa') echo 'IGUAL<br>'; else echo 'NAO IGUAL<br>'; Expected result: ---------------- 1 integer 0 NAO IGUAL NAO IGUAL NAO IGUAL Actual result: -------------- 1 integer 0 IGUAL NAO IGUAL NAO IGUAL -- Edit bug report at http://bugs.php.net/?id=47138&edit=1 -- Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=47138&r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=47138&r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=47138&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=47138&r=fixedcvs Fixed in CVS and need be documented: http://bugs.php.net/fix.php?id=47138&r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=47138&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=47138&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=47138&r=needscript Try newer version: http://bugs.php.net/fix.php?id=47138&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=47138&r=support Expected behavior: http://bugs.php.net/fix.php?id=47138&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=47138&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=47138&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=47138&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=47138&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=47138&r=dst IIS Stability: http://bugs.php.net/fix.php?id=47138&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=47138&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=47138&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=47138&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=47138&r=mysqlcfg