PHP 嵌套 foreach 循环迭代并设置变量


PHP nested foreach loop iterate and set variable

我在 php 中的嵌套 foreach 循环中的变量出现问题:

内部循环完成后,我的变量$counter不会重置为 1。我也尝试取消设置($counter)在内循环之后,也没有任何效果。我知道 php 中的 foreach 循环中没有内部作用域。但我想,一旦我在内循环完成后设置 $counter=1,那么下一个外循环和新的内循环应该再次以 $counter=1 开头??

<?php
$counter = 1;
foreach($loop1 as $x){
     foreach($loop2 as $y){  
       if($counter==1){do something};
       else {do something else};           
       $counter++;
      };
 $counter = 1;
 }    
?>

这是实际代码:

<?php
$i=1;
foreach ($neu as $n) {
    $gcount = 1;

    echo'<div> </div>';


    foreach ($gesendet as $g) {
        if (($n["Quelle"] ==$g["Quelle"]) || ($n["Quelle"] ==$g["Ziel"])){
                if ($gcount == 1){
                echo nl2br("'n");                   
            }
            else {
                echo'<div id="divtoggle">' .nl2br("'n")."at ".$g['Datum']." ".  htmlspecialchars($g['username']). nl2br(" wrote: 'n") ;  
                echo "'"".htmlspecialchars($g['Inhalt']). "'"" .nl2br("'n");    
                echo '</div>';                  
            }
    }
    $gcount++;
    }
    unset($gcount);
    echo '</div>';          
     $i++;  
}
?>

试试这个。

<?php
foreach($loop1 as $x){
    $counter = 1;
    foreach($loop2 as $y){  
        if($counter==1){do something};
        else {do something else};           
        $counter++;
    }
}    
?>