如何将两个'foreach'代码一起运行以获得输出?

时间:2012-05-05 19:03:46

标签: php

我有两个foreach循环。一个提供image href="URL"s,另一个提供image src="URL"s

如何将这两个循环组合在一起并显示图像?

我的代码提供图像HREF:

foreach($doc->getElementsByTagName('a') as $a){
    foreach($a->getElementsByTagName('img') as $img){
        echo $a->getAttribute('href');
    }
}

我的代码提供了图像SRC:

foreach($html->find('img') as $e)
    echo $e->src . '<br>';

2 个答案:

答案 0 :(得分:1)

尝试以下操作。

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

您的代码为每张图片回显a->href。如果这是您想要做的,那么请尝试以下方法。

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

答案 1 :(得分:1)

我会考虑如何在一个循环中完成所有操作,但在此之前,这里是如何将它们全部放入一个数组中:

$image_links = array();

foreach($doc->getElementsByTagName('a') as $a){
    foreach($a->getElementsByTagName('img') as $img){
        $image_links[] = $a->getAttribute('href');
    }
}

foreach($html->find('img') as $e)
    $image_links[] = $e->src;
 }
相关问题