2014-01-16 183 views
0

我无法摆脱foreach循环。我认为结构是正确的,代码还有其他错误。请让我知道是什么问题,(不只是一个工作代码),我想从我的错误中学习。谢谢打破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

echo $ data的输出是什么 – sas

+0

它的报废数据在输出 – codegeek

+0

如果$ data不会等于特定的字符串比它不会打破这个循环 – sas

回答

0

1)我猜你的$数据==“工作机会说明:”条件是不正确的,所以也没叫破;

2)把你的$ mainjob->找到( 'TD [VALIGN =中间')出你的循环条件,因此它不会被调用每次迭代:

$tds = $mainjob->find('td[valign=middle]'); 
foreach($td as $d){} 

3)为什么你添加括号到你的$ newarr变量中?

4)也许您的$数据串还包含HTML标签(未通过回声由于您的浏览器中显示..这样的状况将返回false。

0

的问题是在白色的空间,我用修剪()以修剪出白色空间,它的工作原理我推荐Ayman Safadi的答案,谢谢