免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2035 | 回复: 1

关于数组的key和value [复制链接]

论坛徽章:
0
发表于 2007-05-16 07:41 |显示全部楼层
PHP的数组定义中$arr[key] = value; , key 可以使字符串或者是整数。
这样带来的问题如下
在一个循环中改变数组的值。


  1. <?php
  2. //错误的方法
  3. $a = array();
  4. $a["name"] ="james";
  5. $a["fname"] = "bond";

  6. for($i=0; $i<sizeof($a); $i++ ){
  7.         $a[$i] = "stephan"; //wrong! it will increase the array array!       
  8.         if($i>10){                                 
  9.                 print_r($a);
  10.                 //die("Error!");
  11.                 //exit();
  12.                 break;
  13.         }
  14. }


  15. print($a[0]);

  16. ?>


  17. 请告诉我,为什么我这样做是错的?
  18. 我的本意是把数组里面的所有元素(james, bond)都替换为"stefan"。
  19. 但是实际结果是,不停的在数组追加新的元素,导致数组不断变大。
  20. 最终出错。

  21. 后来我找到了正确的方法如下
  22. 难道我用变量,作为下标去访问数组中的某个元素是不可以的吗?


  23. <?php
  24. //正确的方法
  25. $a = array();
  26. $a["name"] ="james";
  27. $a["fname"] = "bond";
  28. foreach( $a as $key => $value){
  29.         $a[$key] = "steffan";
  30. }
  31. print_r($a);
  32. ?>


复制代码


难道就只能用foreach了吗?
参考 http://www.phpx.com/man/zh/language.types.array.html

论坛徽章:
0
发表于 2007-05-16 08:51 |显示全部楼层
$a[$i]



$a[$key]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP