2016-11-27 144 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