我试图取消设置小于 60 的所有记录,但每次只取消设置有限的数量。这是我的代码:
echo "<p>============= count=".count($ar); // 1764
for ($i=0;$i<count($ar);++$i)
if ((strlen($ar[$i])<60) OR (strpos($ar[$i],'src=')<5))
unset ($ar[$i]);
$ar=array_values($ar); // renumber the indices
echo "<p>============================= count=".count($ar);
// 1452; OK, so they are all larger than 60 chars, right?
for ($i=0;$i<count($ar);++$i)
if (strlen($ar[$i])<60)
echo"<br>$i - ".$ar[$i]; // not so; several items printed!!! ???
for ($i=0;$i<count($ar);++$i)
if (strlen($ar[$i])<60)
unset ($ar[$i]); //again
$ar=array_values($ar);
echo "<p>============================= count=".count($ar); // 1396; OK, now all are larger than 60 chars?
for ($i=0;$i<count($ar);++$i)
if (strlen($ar[$i])<60)
echo"<br>$i - ".$ar[$i]; // no, still items printed!!! ???
for ($i=0;$i<count($ar);++$i)
if (strlen($ar[$i])<60)
unset ($ar[$i]);
$ar=array_values($ar);
echo "<p>============================= count=".count($ar); // 1386; so 10 more were removed; are we done now?
for ($i=0;$i<count($ar);++$i)
if (strlen($ar[$i])<60)
echo"<br>$i - ".$ar[$i]; // again still items printed!!! ???
怎么可能在每次循环并删除少于 60 个字符的项目之后,仍然有未设置的数组项目将在下一次重复时取消设置?我真的束手无策。我做错了什么?有人可以解释一下吗?谢谢....埃克