2012-05-05 6 views
2

最初のループを無視してforeachの2番目から続ける方法は?

私のコードは

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

はカウンタを使用して行って最初の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
です...私は、foreachループを使用しますが、それは常に最初に奇妙な結果を与えるが、他の人が、私は第一のループを削除し、2日から継続したいので大丈夫です
$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

は私がTすることができます。この

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

最も簡単な方法のようなものを試してみてください最初のループをスキップするためにのヒンクはフラグに

EXを使用することです:

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

thnks 4は私の仲間を助けるために時間を割いています! –

+0

いつでも歓迎します:) –

関連する問題