- 论坛徽章:
- 0
|
PHP的数组定义中$arr[key] = value; , key 可以使字符串或者是整数。
这样带来的问题如下
在一个循环中改变数组的值。
-
- <?php
- //错误的方法
- $a = array();
- $a["name"] ="james";
- $a["fname"] = "bond";
-
- for($i=0; $i<sizeof($a); $i++ ){
- $a[$i] = "stephan"; //wrong! it will increase the array array!
- if($i>10){
- print_r($a);
- //die("Error!");
- //exit();
- break;
- }
- }
-
- print($a[0]);
- ?>
-
- 请告诉我,为什么我这样做是错的?
- 我的本意是把数组里面的所有元素(james, bond)都替换为"stefan"。
- 但是实际结果是,不停的在数组追加新的元素,导致数组不断变大。
- 最终出错。
- 后来我找到了正确的方法如下
- 难道我用变量,作为下标去访问数组中的某个元素是不可以的吗?
-
-
- <?php
- //正确的方法
- $a = array();
- $a["name"] ="james";
- $a["fname"] = "bond";
- foreach( $a as $key => $value){
- $a[$key] = "steffan";
- }
- print_r($a);
- ?>
-
复制代码
难道就只能用foreach了吗?
参考 http://www.phpx.com/man/zh/language.types.array.html |
|