ID: 47138 Updated by: johan...@php.net Reported By: angeli at faccat dot br -Status: Open +Status: Bogus Bug Type: Unknown/Other Function Operating System: Windows XP PHP Version: 5.2CVS-2009-01-17 (CVS) New Comment:
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 . Previous Comments: ------------------------------------------------------------------------ [2009-01-17 18:32:11] angeli at faccat dot br 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 this bug report at http://bugs.php.net/?id=47138&edit=1