我有一个数组为每只动物设置一个数字。我想创建一个循环,无论多少动物都会自动递增
$animal = array(
'dog' => 2,
'cat' => 4,
);
foreach($animal as $pet => $num) {
echo(sprintf('this is %s number $s', $pet, $num));
};
理想情况下,我希望它显示
这是狗1号
这是2号狗
这是第1号猫
这是第2号猫
这是第3号猫
这是第4号猫
答案 0 :(得分:1)
你可以试试这个。
$animal = array(
'dog' => 2,
'cat' => 4,
);
foreach($animal as $pet => $num) {
for($i=1;$i<=$num;$i++){
echo "this is $pet number $i";
}
};
答案 1 :(得分:1)
看起来你想要更像的东西:
foreach($animal as $pet => $count){
for($i = 1; $i <= $count; $i++){
printf('this is %s number %d', $pet, $i);
}
}
答案 2 :(得分:1)
$animal = array(
'dog' => 2,
'cat' => 4,
);
foreach($animal as $pet => $num){
$i = 0;
while($num > 0)
{
$i++;
echo "This is $pet number $i<br/>";
$num--;
}
}
答案 3 :(得分:1)
我认为不需要另一个嵌套的for循环,试试这个
$animal = array(
'dog' => 2,
'cat' => 4,
);
$i = 1;
foreach($animal as $pet => $num) {
echo "this is $pet number $i";
$i++;
};
答案 4 :(得分:0)
$animal = array(
'dog' => 2,
'cat' => 4,
);
foreach ($animal as $pet => $num):
for ($i=1; $i <= $num; $i++):
echo 'This is '.$pet.' number '.$i;
endfor;
endforeach;