我在 simplexml 评估中遇到了一个非常尴尬和具体的问题。
编码:
$simplexml = simplexml_load_string($xmlstring);
var_dump($simplexml);
var_dump($simplexml == false); //this comparison
var_dump($simplexml) 返回我的 simplexml 的实际结构,但对于这个特定的 simplexml,比较返回“true”,由于我的合同,我无法显示结构。
我确定这是一个非常具体的问题,因为我尝试了其他 XML 字符串并且比较返回 'false'。
$simplexml = simplexml_load_string('<a><b>test</b></a>');
var_dump($simplexml); //returns the actual structure
var_dump($simplexml == false); //returns false
我使用 '===' 运算符解决了这个问题,但我不满足于仅仅让它工作。我想了解为什么 '==' 运算符返回 true。
我阅读了有关这两个运算符和 SimpleXMLElement 的信息,并且在我看来它应该为两个运算符返回“false”。在成功解析的 SimpleXMLElement 和布尔值“false”之间进行比较以返回“true”的可能原因是什么?