#47138 [Opn->Bgs]: Bug ==
| From: | johannes@php.net | Date: | Sat, 17 Jan 2009 18:40:51 +0000 |
| Subject: | #47138 [Opn->Bgs]: Bug == | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-132968@lists.php.net to get a copy of this message | ||
ID: 47138
Updated by: johannes@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