Chinaunix首页 | 论坛 | 博客
  • 博客访问: 322631
  • 博文数量: 96
  • 博客积分: 230
  • 博客等级: 二等列兵
  • 技术积分: 722
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-13 22:25
个人简介

心安处即吾乡!

文章分类

全部博文(96)

文章存档

2016年(1)

2014年(79)

2013年(7)

2012年(9)

我的朋友

分类: PHP

2014-07-22 16:36:29


点击(此处)折叠或打开

  1. <?php

  2. $arr1 = array(1,3,5,7,9);
  3. $arr2 = array(10,30,50,70,90);

  4. foreach ($arr1 as $k => &$v) {
  5.         # do nothing
  6. }

  7. echo "================\n";
  8. echo "$v\n";

  9. foreach ($arr2 as $k => $v) {
  10.         # do nothing
  11. }

  12. echo "================\n";
  13. echo "$v\n";

  14. echo "================\n";
  15. var_export($arr1);
  16. echo "\n================\n";
  17. var_export($arr2);
  18. echo "\n================\n";

  19. # 最后运行结果如下:
  20. # 说明:foreach行中的变量的作用范围涵盖foreach行外的部分
  21. /*
  22. $ php test_bug.php
  23. ================
  24. 9
  25. ================
  26. 90
  27. ================
  28. array (
  29.   0 => 1,
  30.   1 => 3,
  31.   2 => 5,
  32.   3 => 7,
  33.   4 => 90,
  34. )
  35. ================
  36. array (
  37.   0 => 10,
  38.   1 => 30,
  39.   2 => 50,
  40.   3 => 70,
  41.   4 => 90,
  42. )
  43. ================
  44. **/

  45. ?>
结论:foreach行中声明的变量的作用范围涵盖foreach行外的部分,只有{}大括号内声明的变量才是语句块变量范围
阅读(2025) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~