博主辛苦了,我要打赏银两给博主,犒劳犒劳站长。
【摘要】今天一个朋友在看PHP方面的面试题,她就考了考我,连续问了我好些个,结果是、、、我都答错了,其中有这么一道题求for($k = 0;$k = 1;$k )和for($k = 0;$k == 1;$k )循环体被执行的次数,这道题也居然把我难住了,所以我回到实验室决定好好分析这道题。
题目是:分析下面两个for循环语句的执行次数:
for($k = 0;$k = 1;$k ++){}
for($k = 0;$k == 1;$k ++){}
解答:这一题考察的是我们对PHP中for语句的掌握情况。在第一条语句中,for语句中的变量k值每次执行到第二个条件的时候都会被赋值为1,所以它会无限的执行下去;在第二条语句中,for语句中的变量k值执行到第二的变量的时候,会判断k的值是否等于1,如果等于1则继续执行,否则将不执行是,所以第二条语句执行的次数为0。
补充:
// 第一条for语句
for($k = 0;$k = 1;$k ++)
{
}
// 第一条for循环语句其实是这样的:
for( ; ; )
{
$k = 0;
// 注意了(重点):这里的等号'='不是判断语句,而是赋值语句
if($k = 1) // 给$k赋值1,则if条件一直为真
{
}else
{
break;
}
$k ++;
}
// 第二条for语句
for($k = 0;$k == 1;$k++)
{
}
// 第二条语句其实就是下面这样的方式
// for语句表示
for( ; ; )
{
$k = 0;
// 这里是判断语句哦,不满足条件则break(退出)
if($k == 1)
{
// 所以这条for语句的循环体执行次数为0
echo '这里是不会被执行的';
}else
{
break;
}
$k ++;
}
// 或者使用while循环语句表示
while (true)
{
$k = 0;
if($k == 1)
{
echo '这里是不会被执行的';
}else
{
break;
}
$k ++;
}
版权归 马富天博客 所有
本文标题:《【面试题】求for($k = 0;$k = 1;$k ){}和for($k = 0;$k == 1;$k ){}循环体被执行的次数》
本文链接地址:http://www.mafutian.net/176.html
转载请务必注明出处,小生将不胜感激,谢谢! 喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^
顶0
踩0