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

Reply via email to