Вопрос по php – как игнорировать первый цикл и продолжить со второго в foreach?

3

Я использую цикл foreach, но он всегда дает странный результат в первом, но другие в порядке, поэтому я хочу удалить первый цикл и продолжить со второго ...

Мой код

<code>foreach($doc->getElementsByTagName('a') as $a){
foreach($a->getElementsByTagName('img') as $img){
   echo $a->getAttribute('href');
   echo $img->src . '<br>';
}
}
</code>
сделанный ! Спасибо друг Naveen Gamage
использовать счетчик и пропустить первый Drewdin
Нет проблем, мне приходилось делать то же самое много раз! Drewdin

Ваш Ответ

4   ответа
7
$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>';
}
}
Это работает, хотя я редактировал мой следующим образом:if ($counter++ == 0) continue; Raymond Wachaga
11

ex:

 $b = false;
 foreach( ...) {
    if(!$b) {       //edited for accuracy
       $b = true;
       continue;
    }
 }
Добро пожаловать в любое время : Abu Romaïssae
thnks 4 не торопитесь, чтобы помочь мне, братан! Naveen Gamage
2

попробуйте что-то вроде этого

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>';
    }
}
thnks 4 не торопитесь, чтобы помочь мне, братан! Naveen Gamage
рад вам помочь. Я думаю, что большинство из нас дали вам подобное решение за тот же промежуток времени ... swapnilsarwe
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;
}
thnks 4 не торопитесь, чтобы помочь мне, братан! Naveen Gamage

Похожие вопросы