如何在PHP中编写foreach循环项?


How to number items of foreach loop in php?

本问题已经有最佳答案,请猛点这里访问。

我用这个来创建MP3列表。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$mp3 = glob($directory . '*.mp3');
//print each file name
foreach($mp3 as $mp3)
{  
echo '
            <tr>
                <td class="one"><!--number goes here --></td>
                <td class="one">'
. str_replace('(BDalbum.com).mp3','',basename($mp3)) .'</td>
                <td class="two">'
. $_GET['s'] .'</td>
                <td class="three">'
. $_GET['a'] .'</td>
                <td class="two">'
. $_GET['a'] .'</td>

            </tr>
'
;
}

我想在列表的每一项中添加数字,比如,第一项:1,第二项:2等等。我该怎么做?


1
2
3
4
5
6
$listOfMp3 = glob($directory . '*.mp3');

foreach($listOfMp3 as $i => $mp3)
{
  echo $i;
}

这不是最好的解决方案,但你可以使用计数器。下面是一个例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$mp3 = glob($directory . '*.mp3');
$c = 0;     //Set this value to 1 if you don't want to start with 0

foreach($mp3 as $mp3)
{  
echo '
        <tr>
            <td class="one">'
.$c.'</td>
            <td class="one">'
. str_replace('(BDalbum.com).mp3','',basename($mp3)) .'</td>
            <td class="two">'
. $_GET['s'] .'</td>
            <td class="three">'
. $_GET['a'] .'</td>
            <td class="two">'
. $_GET['a'] .'</td>
        </tr>'
;
        $c++;
}

所以现在$C每次都会显示文件的编号。无论如何,您可以让foreach键做完全相同的事情。