以下是代码:
$TopFive = array_slice($counts,0,5);
{
foreach($TopFive as $key => $tops)
{
for($i=0; $i<$tops; $i++)
{
echo "*";
}
$b=0;
for($a=0; $a<5; $a++)
{
$b++;
}
echo "{$b}";
echo "#:{$key} - {$tops} <br/>";
}
}
目前,输出如下:
*********5#:THE - 9
*****5#:OF - 5
*****5#:TO - 5
***5#:AND - 3
***5#:THEM - 3
但我真正想要的是:
********* #1: THE - 9
***** #2: OF - 5
***** #3: TO - 5
*** #4: AND - 3
*** #5: THEM - 3
我似乎不知道如何安排循环。有什么想法吗?我很抱歉这个简单的问题,我没什么想法了。我只希望数字是1-5。
我只是想要一些关于如何安排$b的循环的建议,这样计数将从1-5开始,而不仅仅是5
如果:
$TopFive = array('THE' => 9, 'OF' => 5, 'TO' => 5, 'AND' => 3, 'THEM' => 3);
然后:
$number = 1;
foreach ($TopFive as $word => $count)
{
echo str_repeat('*', $count); // Outputs '*' characters
echo " #{$number}: {$word} - {$count}'n";
$number++; // increment your number
}
下面是一个例子。
您的此行有问题for($a=0; $a<5; $a++)
$b
总是递增到5
要解决这个问题,只需用1
初始化foreach
循环之外的$x
(或任何东西)。在适当的地方去掉$b
,简单地去掉echo $x; $x++;
。
您可以将代码更改为:
$b=1;
foreach($TopFive as $key => $tops)
{
for($i=0; $i<$tops; $i++)
{
echo "*";
}
echo "#$b:{$key} - {$tops} <br/>";
$b++;
}
但是所有的内环都是多余的。
在您的代码中,请更改此部分:
echo "{$b}";
echo "#:{$key} - {$tops} <br/>";
收件人:
// echo "{$b}";
echo "#$i:{$key} - {$tops} <br/>";
并使用str_repeat('*', $count)
而不是for
循环!:)