【面试题】求for($k = 0;$k = 1;$k ){}和for($k = 0;$k == 1;$k ){}循环体被执行的次数

学习笔记 马富天 2016-07-26 21:35:20 81 0

【摘要】今天一个朋友在看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。

补充:

  1. //	第一条for语句
  2. for($k = 0;$k = 1;$k ++)
  3. {
  4. }
  5. //	第一条for循环语句其实是这样的:
  6. for( ; ; )
  7. {
  8. 	$k = 0;
  9. 	//	注意了(重点):这里的等号'='不是判断语句,而是赋值语句
  10. 	if($k = 1)	//	给$k赋值1,则if条件一直为真
  11. 	{
  12. 	}else
  13. 	{
  14. 		break;
  15. 	}
  16. 	$k ++;
  17. }
  1. //	第二条for语句
  2. for($k = 0;$k == 1;$k++)
  3. {
  4. }
  5. //	第二条语句其实就是下面这样的方式
  6. //	for语句表示
  7. for( ; ; )
  8. {
  9. 	$k = 0;
  10. 	//	这里是判断语句哦,不满足条件则break(退出)
  11. 	if($k == 1)
  12. 	{
  13. 		//	所以这条for语句的循环体执行次数为0
  14. 		echo '这里是不会被执行的';
  15. 	}else
  16. 	{
  17. 		break;
  18. 	}
  19. 	$k ++;
  20. }
  21. //	或者使用while循环语句表示
  22. while (true) 
  23. {
  24. 	$k = 0;
  25. 	if($k == 1)
  26. 	{
  27. 		echo '这里是不会被执行的';
  28. 	}else
  29. 	{
  30. 		break;
  31. 	}
  32. 	$k ++;		
  33. }

版权归 马富天PHP博客 所有

本文标题:《【面试题】求for($k = 0;$k = 1;$k ){}和for($k = 0;$k == 1;$k ){}循环体被执行的次数》

本文链接地址:http://www.mafutian.net/176.html

转载请务必注明出处,小生将不胜感激,谢谢! 喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

0

0

上一篇《 PHP解决MySQL数据库导出到csv中身份证号码不能完全显示问题 》 下一篇《 【面试题】加号 和连接符.的优先级比较 》
分享到:

暂无评论

评论审核未开启
表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情
验证码