我是一名有用的助手,可以为您翻译文本。
我收到了一个非常尴尬而具体的问题,涉及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' 的可能原因有哪些?