我正在做一個會從遠程服務器拉一個XML文件,並在成功獲取它會返回我SimpleXMLElement對象或返回false的功能如果它是不能夠得到的信息讓說由於網絡故障。比較操作行爲不端就在幾天前
一種常見又懶惰的做法是檢查檢查使用,以確保如果有什麼東西在變函數的響應。下面 可能的代碼會試圖更好地解釋什麼,我想說
<?php
$xmlString = "<?xml version='1.0' standalone='yes'?><root><node>A</node></root>";
$xmlElement = new SimpleXMLElement($xmlString);
var_dump($xmlElement);
//Shows an xml element that is not empty
var_dump((bool)$xmlElement);
//Returns true
if($xmlElement)
{
//Executions comes inside
echo "i`m true";
}
var_dump($xmlElement == false);
//Strangely this is also true
?>
有人能解釋爲什麼比較操作的結果是布爾(真)?
我不認爲它是重複的,元素不是空的。更奇怪的是,將元素轉換爲布爾值會導致'true':https://eval.in/526013 – jeroen
你是對的@ jeroen ..奇怪的行爲.. –
其實我試過var_dump((bool)$ xmlElement == false )和它的作品... –