#27413 [Bgs->Opn]: SimpleXML text comparison

From: Date: Fri, 27 Feb 2004 14:04:12 +0000
Subject: #27413 [Bgs->Opn]: SimpleXML text comparison
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-55648@lists.php.net to get a copy of this message
 ID:               27413
 Updated by:       derick@php.net
 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] sniper@php.net

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


Thread (11 messages)

« previous php.bugs (#55648) next »