【发布时间】:2012-04-12 20:11:00
【问题描述】:
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' 的可能原因是什么?
【问题讨论】:
标签: php xml comparison simplexml