Ich bekomme Daten von einem XML-Objekt in PHP und verwenden Sie den "==" -Operator, aber wir bekommen keine Gleichheit. Es scheint eine sehr grundlegende Frage zu sein, aber ich kann sie nirgends finden.PHP Xml Objekt vergleichen
Minimal Beispiel:
<?php
// Load the file
$xmlData = "<?xml version='1.0' encoding='UTF-8' ?>
<root>
<a>animalia</a>
<b>arthropoda
<parent>animalia</parent>
</b>
</root>";
$xml=simplexml_load_string($xmlData) or die("Error: Cannot create object");
print_r($xml);
//Extract the data
$x=$xml->a;
$y=$xml->b->parent;
// Test whether they are equal
if ($x==$y) {
echo $x." = ".$y;
}
else {
echo "'".$x."' does not equal '".$y."'";
}
?>
Das gibt mir das Ergebnis: 'animalia' nicht gleich 'animalia'
Hinweis, wenn ich schreibe entweder
print_r($x);
oder
print_r($x);
Ich bekomme die Ausgabe: SimpleXMLElement Objekt ([0] => animalia)
Die Frage ist also, warum diese nicht als gleich angesehen werden? Danke im Voraus.
'trim()' sie beide und versuchen Sie es erneut
Um Knotenwerte, Gussobjekte als Zeichenfolge zu vergleichen. –