我正在处理一个动态的页面,有时候它有元素,有时却没有。
$data2 = $data1->find("tr td");
有没有办法可以检查下面的代码是否返回null?找到它时它工作正常但是当它不是时会抛出错误:
致命错误:在第175行的/Applications/MAMP/htdocs/rs/login.php中调用null上的成员函数find()
全功能代码:
$url = "http://services.runescape.com/m=hiscore_oldschool/hiscorepersonal.ws?user1=";
$link = $url . $name;
$html = file_get_html($link);
$data1 = $html->find("div[id=contentHiscores] table tbody",0);
$data2 = $data1->find("tr td");
$data2 = (!empty($data1)) ? $data1->find("tr td") : null;
if(empty($data2)){
echo 'empty';
}else{
echo 'do something';
}
答案 0 :(得分:1)
这是$data1
变量中的问题。当$data1
为null时,它会抛出错误。
$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';
}