为什么我的变量没有在foreach循环中迭代


Why is my variable not iterating in this foreach loop?

我正试图通过使用变量迭代循环次数来使div ID具有唯一的名称。出于某种原因,我的$k变量似乎没有进展。这是代码:

<?php foreach($files as $media)
                { 
                    $k = 0;
                    ?>
                    <h3><?php echo $output[$j] ?></h3>
                    <div id='mediaspace<?php echo $k ?>'>This text will be replaced</div>
                    <script type='text/javascript'>
                      ...
                      so.write('mediaspace<?php echo $k ?>');
                    </script>
                <?php 
                $k = $k+1;
                } ?>

每次运行循环时,我的HTML输出只会给我一个$k的0:

<div id='mediaspace0'>This text will be replaced</div>

                    <script type='text/javascript'>
                     ...                  so.write('mediaspace0');
                    </script>
                                        <h3>Rattletree Marimba Day</h3>
                    <div id='mediaspace0'>This text will be replaced</div>
                    <script type='text/javascript'>
                      ...                 so.write('mediaspace0');
                    </script>

非常感谢您的帮助!

当然:

$k = 0;

在循环之前重置变量

$k = 0;

循环开始时将$k重置为每次迭代开始时的0

将其移出循环:

<?php 
$k = 0;
foreach($files as $media)
{ 
...

您在foreach开始时将$k设置为0。

把它放在外面。

$k = 0;
foreach($files as $media) {
...