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

Reply via email to