如何在PHP中交替使用foreach语句

如何在PHP中交替使用foreach语句,php,foreach,Php,Foreach,在第一个foreach语句的一个结果被回显后,第二个foreach语句的一个结果将被回显的意义上,我如何交替这些foreach语句?下面是两个foreach语句 foreach($anchors as $a) { $text = $a->nodeValue; $href = $a->getAttribute('href'); $i++; if ($i > 16) { if (strpos($text, "by owner") === false) {

在第一个foreach语句的一个结果被回显后,第二个foreach语句的一个结果将被回显的意义上,我如何交替这些foreach语句?下面是两个foreach语句

 foreach($anchors as $a) {
    $text = $a->nodeValue;
    $href = $a->getAttribute('href');
$i++;

if ($i > 16) {
    if (strpos($text, "by owner") === false) {
     if (strpos($text, "map") === false) {


          echo "<a href =' ".$href." '>".$text."</a><br/>";


     }
    }
  }

  }


foreach($span as $s) {
echo "<br>".$s->nodeValue."<br>" ;

}
foreach($a锚定){
$text=$a->nodeValue;
$href=$a->getAttribute('href');
$i++;
如果($i>16){
if(strpos($text,“按所有者”)==false){
if(strpos($text,“map”)==false){
回声“
”; } } } } foreach(跨度为$s){ 回显“
”$s->nodeValue。“
”; }
从字面上看,您不能“合并”两个foreach语句,但可以使用每个()函数作为解决方法。将其放置在第一个循环中的某个位置:

list(,$s) = each($span);
echo "<br>".$s->nodeValue."<br>" ;
列表(,$s)=每个($span);
回显“
”$s->nodeValue。“
”;
不确定您要问什么,但您可能想尝试使用
继续
,一旦满足条件,它将在下一项重新启动foreach。如果PHP有一个数组zip函数,并且能够在
foreach
中使用
list
,那么在这里就更好了。(例如,
foreach(array_-zip($anchors,$span)as-list($a,$s))
)不幸的是,它没有。