2011-11-10 101 views
4

我有一個簡單的xml對象的數組。我寫下面如何檢查simplexml對象的值

Array 
(
[ID] => 1992109 
[Title] => A Equipa do MAIS 
[Description] => SimpleXMLElement Object 
    (
    ) 
) 

現在代碼如何檢查說明的值這種陣列中,如果有描述的值是存在或不存在。

+0

提示,提示...您需要通過點擊勾號來接受Michael的答案! – 2012-06-13 17:57:55

回答

8

,以驗證是否SimpleXMLElement對象有一個文本值,你需要將它轉換爲字符串:

$desc = (string)$array['Description']; 
if (!empty($desc)) { 
    echo $desc; 
} 

雖然你能夠直接echo的一個SimpleXMLElement對象的內容,利用其字符串值作爲變量需要對其進行類型轉換。 empty()必須作用於變量,因此元素的隱含__toString()調用將不會像echo那樣工作。


用PHP 5.5開始,empty()可以測試的任意表達式的結果。它不再需要一個變量作爲它的參數。

+0

在數組中設置時也可以使用strval($ XML-> description)。一旦它已經分配給數組,它將會類型轉換工作嗎? – mseancole

+0

@showerhead對象的行爲和狀態不受其數組中的成員資格的影響。請記住,如果您有幾個相似的XML元素,SimpleXML也會將它們呈現爲一組對象。 –