ID: 11254 Updated by: cardinal Reported By: [EMAIL PROTECTED] Old-Status: Open Status: Bogus Bug Type: Scripting Engine problem Operating system: PHP Version: 4.0.4pl1 Assigned To: Comments: isset($t2{"nome"}) is evaluating to true because you're using a string as an array, which is a perfectly legal thing to do. In this case, "nome" is being evaluated to zero (As all strings evaluate to) and the isset is seeing that $t2{0} exists, it's 'a' in the string 'asd'. Side note, it's not recommended to use curly braces when accessing array elements. Use square brackets instead, $array['key'] instead of $array{'key'} Previous Comments: --------------------------------------------------------------------------- [2001-06-02 22:23:01] [EMAIL PROTECTED] $t1 = array("nome"=>"gabriel", "idade"=>"19"); $t2 = "asd"; $t3 = NULL ; echo "<br><br>nn1: " . isset($t1{"nome"}); echo "<br><br>nn2: " . isset($t2{"nome"}); # there's NO "nome" defined! shouldn't it return FALSE? why does it retur TRUE ??? echo "<br><br>nn3: " . isset($t3{"nome"}); echo "<br><br>nn4: " . isset($t4{"nome"}); echo "<br><br>"; echo "<br><br>nn1: " . empty($t1{"nome"}); echo "<br><br>nn2: " . empty($t2{"nome"}); # It doesn't even exist! how can it be not even empty ??? echo "<br><br>nn3: " . empty($t3{"nome"}); echo "<br><br>nn4: " . empty($t4{"nome"}); --------------------------------------------------------------------------- ATTENTION! Do NOT reply to this email! To reply, use the web interface found at http://bugs.php.net/?id=11254&edit=2 -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]