2014-01-22 117 views
0

一些基本的背景整理出來的if語句...我需要幫助的simplexml的聲明

我有輸入數據到一個XML文件,並從德XML取決於它滿足顯示數據的另一個頁面的表單要求 。所有這些我都設法完成了,並且感謝這裏的一位成員,只要它具有今天的日期和狀態,我就可以只顯示數據。但是我留下了一個問題,試圖對需要顯示數據的if語句進行排序,如果有的話,或者如果不是,則顯示另一個div。

我的代碼...

$lib = simplexml_load_file("sample.xml"); 
$today = date("m/d/y"); 
$query = $lib->xpath("//entry[.//date[contains(., '$today')]] | //entry[.//status[contains(., 'out')]]"); 


foreach($query as $node){ 

echo "<div id='one'>$node->name</div> 
<div id='two'>$node->notes</div> 
<div id='three'><div class='front'>$node->comments</div></div>"; 
} 

因此重申,如果查詢返回匹配的數據做別人在foreach顯示另一個DIV

我只是想知道,如果soneone的if else語句正確的代碼可以對此有所幫助,我將非常感激,只要我有了良好的聲譽,我們就會盡快投票。如果之前已經問過這個問題,或者它太模糊了,我還要提前道歉。

+0

你可以擴展你需要檢查與如果? –

+0

如果$查詢函數返回true,然後回顯他們,如果不使用其他希望這有助於感謝 – TheWebMann

回答

2

如果xpath無法解析路徑,它將返回false(see here)。總結foreach循環中一個簡單的檢查:

if($query) { 
    foreach($query as $node){ 
     ... 
    } 
} 
else { 
    // Echo the special div. 
} 

由於PHP寬鬆類型的,如果發生的XPath返回一個空數組,這種檢查也將處理這種情況。請注意,如果xpath調用確實返回false,那麼可能會出現單獨的錯誤,可能需要額外或替代處理。

+0

可能是正確的答案,並將接受它作爲答案當我的代碼的其他部分已被糾正,因爲我的查詢返回結果的答案匹配,我需要它匹配兩個謝謝你的回答 – TheWebMann

+0

非常感謝你的if語句,現在代碼的其餘部分工作正常我現在可以看到,這正是工作所需要的儘快我有所需的投票聲望我會回來這樣做謝謝你的快速和最終的正確迴應再次感謝你 – TheWebMann

+0

投票再次感謝:) – TheWebMann