2013-04-04 54 views
-1

我正在運行一個基本的API調用,它會返回一個XML文件..我通過數據並將它們設置爲變量,然後echo..all工作正常,除非沒有結果,然後它只是空白。如何添加if語句來檢查api調用是否返回任何結果?如果沒有結果從XML API調用然後

if($url_headers[0] == 'HTTP/1.1 200 OK' && (!empty($searchCode))) { 
     $xml = simplexml_load_file($searchCode); 
foreach ($xml->result->result as $result): 
    $cake=$result->{'cakename'}; 
    $icecream=$result->{'icecreamname'}; 


    echo "<ul class='cakes' >"; 
     echo "<li>$cake and $icecream</li>"; 
    echo "</ul>"; 
+0

大概$ searchCode是你的api調用的結果嗎?你已經有'!empty()'來檢查是否有任何返回...或者api是否返回一些東西而不管成功/失敗? – 2013-04-04 21:58:09

回答

0

您正在尋找功能property_exists()。像這樣使用它:

$xml = simplexml_load_file($searchCode); 
if(!$xml 
    || !property_exists($xml, 'result') 
    || !property_exists($xml->result, 'result')) { 
    die('no results'); 
} 

當然你可以詳細說明這個問題有更詳細的錯誤信息。

+0

非常感謝你,這工作完美! – user2246907 2013-04-04 22:13:00

+0

歡迎您! :) – hek2mgl 2013-04-04 22:15:58