2016-11-27 140 views
0

我工作的頁面是動態的,有時它有元素,有時它不。如何檢查是否返回爲空?

$data2 = $data1->find("tr td");

有沒有一種方法可以讓我檢查,如果下面的代碼返回null?當它發現它工作正常,但是當它是不是引發錯誤:

Fatal error: Call to a member function find() on null in /Applications/MAMP/htdocs/rs/login.php on line 175

全功能代碼:

\t \t $url = "http://services.runescape.com/m=hiscore_oldschool/hiscorepersonal.ws?user1="; 
 
\t \t $link = $url . $name; 
 
\t \t $html = file_get_html($link); 
 

 
\t \t $data1 = $html->find("div[id=contentHiscores] table tbody",0); 
 
\t \t $data2 = $data1->find("tr td"); \t 
 
\t \t 
 
\t \t $data2 = (!empty($data1)) ? $data1->find("tr td") : null; 
 
\t \t if(empty($data2)){ 
 
\t \t  echo 'empty'; 
 
\t \t }else{ 
 
\t \t  echo 'do something'; 
 
\t \t }

+0

如果(空($數據2)) OR 如果(空=== $數據2) – Ima

回答

1

在這裏,在$data1變量的問題。當$data1爲空時,會引發錯誤。

$url = "http://services.runescape.com/m=hiscore_oldschool/hiscorepersonal.ws?user1="; 
$link = $url . $name; 
$html = file_get_html($link); 

$data1 = (!empty($html)) ? $html->find("div[id=contentHiscores] table tbody",0) : null; 
$data2 = (!empty($data1)) ? $data1->find("tr td") : null; 

if(empty($data2)){ 
    echo 'empty'; 
}else{ 
    echo 'do something'; 
} 
+0

這將回聲 '做些什麼',但它絕不會迴應 '空'。拋出相同的錯誤。我還在原始文章中添加了有問題的完整鏈接。 – Potion

+0

@Potion代碼已更新。 –

+0

現在完美! – Potion