21,886
社区成员
发帖
与我相关
我的任务
分享
$cows = array(1);
for ($j=0;$j<10;$j++) //循环10
{
foreach ($cows as $key => $value)
{
$cows[$key]++;
if ($cows[$key] == 5) // ==5 销毁
{
unset($cows[$key]);
}
if ($cows[$key] == 3) //==3 增加一个元素
{
$cows[] = 1;
}
}
$cows = array(1);
for ($j=0;$j<10;$j++) //循环10
{
foreach ($cows as $key => $value)
{
$cows[$key]++;
if ($cows[$key] == 5) // ==5 销毁
{
unset($cows[$key]);
echo $key; //这里加一句,你就可以看到出错的原因了
}
if ($cows[$key] == 3) //==3 增加一个元素
{
$cows[] = 1;
}
}
}
当 unset($cows[$key]); 执行后,$cows[$key] 就不存在了。你还 if ($cows[$key] == 3) 自然要报错的
所以你要么检查 $cows[$key] 的存在,要么就放到 else 分支去 if ($cows[$key] == 5) // ==5 销毁
{
unset($cows[$key]);
}
else if ($cows[$key] == 3) //==3 增加一个元素
{
$cows[] = 1;
}