2012-05-05 68 views
2

我使用foreach循环,但它总是给人一种奇怪的结果,在第一,但其他人都很好,所以我想删除第一环和第二次继续...如何忽略第一个循环并从foreach继续?

我的代码是

foreach($doc->getElementsByTagName('a') as $a){ 
foreach($a->getElementsByTagName('img') as $img){ 
    echo $a->getAttribute('href'); 
    echo $img->src . '<br>'; 
} 
} 
+1

使用计数器和跳完成的第一个 – Drewdin

+0

!谢谢你,朋友! –

+0

没问题,我必须自己多次做同样的事情! – Drewdin

回答

6
$counter = 0; 

foreach($doc->getElementsByTagName('a') as $a){ 
foreach($a->getElementsByTagName('img') as $img){ 

    if ($counter++ == 1) continue; 

    echo $a->getAttribute('href'); 
    echo $img->src . '<br>'; 
} 
} 
1
$nm = 0; 
foreach($doc->getElementsByTagName('a') as $a){ 
    if($nm == 1){ 
    foreach($a->getElementsByTagName('img') as $img){ 
     echo $a->getAttribute('href'); 
     echo $img->src . '<br>'; 
    } 
    } 
    $nm=1; 
} 
+0

thnks 4花时间帮助我兄弟! –

1

尝试这样的事情

foreach($doc->getElementsByTagName('a') as $a) 
{ 
    $count = 0; 
    foreach($a->getElementsByTagName('img') as $img) 
    { 
     if(count == 0) 
     { 
      $count++; 
      continue; 
     } 
     echo $a->getAttribute('href'); 
     echo $img->src . '<br>'; 
    } 
} 
+0

thnks 4花时间帮助我兄弟! –

+0

很高兴为您效劳。我想我们大多数人在同一时间内给你类似的解决方案... – swapnilsarwe

11

我可以T的最简单方法,以跳过第一循环hink是通过使用标志

例如:

$b = false; 
foreach(...) { 
    if(!$b) {  //edited for accuracy 
     $b = true; 
     continue; 
    } 
} 
+0

thnks 4花时间帮助我兄弟!任何时候都欢迎来到 –

+0

:) –