ID: 27413 Updated by: [EMAIL PROTECTED] Reported By: rbro at hotmail dot com -Status: Bogus +Status: Open Bug Type: XML related Operating System: Linux PHP Version: 5CVS-2004-02-26 (dev) New Comment:
If you cast to a string, it works: if ((string) $sxe['a'] == '123') I do think that should be necessary though. Previous Comments: ------------------------------------------------------------------------ [2004-02-27 09:00:12] rbro at hotmail dot com Yes, doing 'var_dump($sxe['a']);' gives: object(simplexml_element)#2 (1) { [0]=> string(3) "123" } But then changing my if line to: if ($sxe['a'][0] == '123') doesn't work either. How does one then compare an attribute to another value? The documentation at http://docs.php.net/en/ref.simplexml.html states that my original if statement should work (the example under 'Using attributes'). That example doesn't work locally either because of the same issue on the switch statement used. ------------------------------------------------------------------------ [2004-02-27 02:16:45] [EMAIL PROTECTED] Try doing a 'var_dump($sxe['a']);'...comparing string to an object can't really be true in any case? ------------------------------------------------------------------------ [2004-02-27 00:11:03] rbro at hotmail dot com Description: ------------ Doing the following SimpleXML text comparison does not give the expected results. Reproduce code: --------------- <?php $sxe = simplexml_load_string('<root a="123" />'); echo $sxe['a']."\n"; if ($sxe['a'] == '123') { echo 'They are equal.'."\n"; } else { echo 'They are not equal.'."\n"; } ?> Expected result: ---------------- 123 They are equal. Actual result: -------------- 123 They are not equal. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=27413&edit=1