#33906 [Bgs]: value comparsion doesn't work as expected
| From: | ray-chords at gmx dot net | Date: | Thu, 28 Jul 2005 14:32:01 +0000 |
| Subject: | #33906 [Bgs]: value comparsion doesn't work as expected | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-82603@lists.php.net to get a copy of this message | ||
ID: 33906
User updated by: ray-chords at gmx dot net
Reported By: ray-chords at gmx dot net
Status: Bogus
Bug Type: SimpleXML related
Operating System: Debian Sarge
PHP Version: 5.0.4
New Comment:
no, casting to string has no effect.
As I find out, a SimpleXMLElement including just one node with only one
value must be called directly.
change line 17: $out = ($v->id == 'pwd') ? 'OK' : 'FALSE';
to: $out = ($v == 'pwd') ? 'OK' : 'FALSE';
and it works as expected.
Previous Comments:
------------------------------------------------------------------------
[2005-07-28 16:23:15] sniper@php.net
RTFM. You have to cast to string first.
------------------------------------------------------------------------
[2005-07-28 16:07:03] ray-chords at gmx dot net
Description:
------------
Intention was to compare a string value with an xml node value. But
direct access to the value fails.
Reproduce code:
---------------
<?php
$xml_string = <<<EOD
<?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
<document>
<command default="yes"><id><![CDATA[li]]></id></command>
<command><id><![CDATA[reg]]></id></command>
<command><id><![CDATA[cq]]></id></command>
<command><id><![CDATA[tipp]]></id></command>
<command><id><![CDATA[pwd]]></id></command>
</document>
EOD;
$xml = simplexml_load_string($xml_string);
$template = $xml->xpath('/document/command/id');
foreach ($template as $v) {
$out = ($v->id == 'pwd') ? 'OK' : 'FALSE';
print $out . "\n";
}
?>
Expected result:
----------------
I'd expected an 'OK' in the last loop. But I always get 'FALSE'.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=33906&edit=1