我无法摆脱foreach循环。我认为结构是正确的,代码还有其他问题。请让我知道问题是什么(不仅仅是一个工作代码)我想从错误中吸取教训。感谢
我正在使用简单的html dom来截断某些信息,我希望在条件匹配时循环中断。这是我的代码:
<?php
$mainjob = file_get_html('link to scrap here');
$newarr = array();
foreach($mainjob->find('td[valign=middle]') as $d) {
$data = $d->innertext;
$newarr[] = $data;
echo $data . "<br>";
if($data == "Job Opportunity Description:") {
break;
}
}
print_r($newarr);
答案 0 :(得分:0)
1)我猜你的$ data ==“工作机会描述:”条件不成立,所以它没有调用中断;
2)将$ mainjob-&gt; find('td [valign = middle]')置于循环条件之外,因此每次迭代都不会调用它:
$tds = $mainjob->find('td[valign=middle]');
foreach($td as $d){}
3)为什么要在$ newarr变量中添加括号?
4)也许您的$ data字符串仍然包含html标记(由于您的浏览器而不会显示回显..因此条件将返回false。
答案 1 :(得分:0)
问题出在白色空间我使用trim()来修剪掉白色空间并且它有效。我推荐Ayman Safadi的答案。感谢。