PHP空数组的遍历问题
$ss=2;$max=10;$arr=array();echo$max."以内的素数为:";while($ss<$max):$boo=false;foreach($arr...
$ss = 2;
$max = 10;
$arr = array();
echo $max."以内的素数为: ";
while ($ss < $max):
$boo = false;
foreach ($arr as $value)://我不明白这里的数组的$value值是什么,这不是空数组吗?为什么可以遍历出来。
if ($ss % $value == 0):
$boo = true;
break;
endif;
endforeach;
if (!$boo):
echo $ss." ";
$arr[count($arr)] = $ss;
endif;
$ss++;
endwhile; 展开
$max = 10;
$arr = array();
echo $max."以内的素数为: ";
while ($ss < $max):
$boo = false;
foreach ($arr as $value)://我不明白这里的数组的$value值是什么,这不是空数组吗?为什么可以遍历出来。
if ($ss % $value == 0):
$boo = true;
break;
endif;
endforeach;
if (!$boo):
echo $ss." ";
$arr[count($arr)] = $ss;
endif;
$ss++;
endwhile; 展开
1个回答
展开全部
foreach 会根据数组元素个数进行循环,$value是每次循环所访问的数组元素,个数为0的时候就不进入循环,
这种情况相当于
for($i=0; $i<count($arr); $i++){
echo $arr[$i]; // foreach 的 $value 与此等效
}
,当$arr是空数组时循环不进入
这种情况相当于
for($i=0; $i<count($arr); $i++){
echo $arr[$i]; // foreach 的 $value 与此等效
}
,当$arr是空数组时循环不进入
追问
那么是不是说,当这段代码首次运行的时候, 这些代码 foreach ($arr as $value
if ($ss % $value == 0):
$boo = true;
break;
endif;
endforeach;
是直接跳过去不运行,然后运行下面的代码吗?
追答
是的,在while的第一次循环中,foreach部分跳过
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询