我在 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++;
}
}
?>