如何在取消设置数组后重新索引此数组:
echo "before deleting:<br>";
$countries[] = "Japan";
$countries[] = "Korea";
$countries[] = "china";
echo $a = count($countries);
echo "<br>";
for($i= 0;$i < $a; $i++)
{
echo "$countries[$i]<br>";
}
unset($countries[1]);
echo "<br>";
取消设置功能后,计数显示2,但第2 国名中国并没有与下面的循环相呼应。
echo "<hr>After deleting:<br>";
echo $a = count($countries);
echo "<br>";
//below is my forloop
for($i=0;$i < $a; $i++)
{
echo "$countries[$i]<br>";
}
</code>
答案 0 :(得分:2)
使用array_values()
重新索引:
$countries = array_values($countries);
但是,只需使用foreach()
来迭代所有值:
foreach($countries as $country) {
echo $country;
}
答案 1 :(得分:2)
而不是
for($i=0;$i < $a; $i++)
{
echo "$countries[$i]<br>";
}
使用
foreach ($countries as $country) {
echo $country . '<br>';
}
Foreach并不真正关心数组键,所以它会很好地循环。如果您确实想要使用标准的for
循环,请在之前调用:$countries = array_values($countries);
并且有效地重置数组的键。