php foreach数组问题
$array=array('1','2');foreach($arrayas$k=>$v){$array[$v]=200;}var_dump($array);为什么是1,...
$array=array('1','2');foreach($array as $k=>$v){$array[$v]=200;}var_dump($array);为什么是1 , 200 , 200
展开
5个回答
展开全部
第一种格式遍历给定的 $a 数组。每次循环中,当前单元的值被赋给 $b 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。 自 PHP 5 起,可以很容易地通过在 $b 之前加上 & 来修改数组的单元。此方法将以引用赋值而不是拷贝一个值。例如: <?php $arr = array(1, 2, 3, 4); foreach ($arr as &$value) { $value = $value * 2; } // $arr is now array(2, 4, 6, 8) ?> var_dump($arr);#打印$arr看下你就明白了,打印之后你再把&去掉,运行再打印,两次比较就清楚 第二种就是把原$arr中的每个单元重新赋值,上面那样写已经很清楚了,不明白的话,就到网上下载一个php手册,好好看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$array["1"] = 200; // 这里会把字符串“1”变成整型 1,这里意思是设置第二个元素的值为200第一种格式遍历给定的 $a 数组。每次循环中,当前单元的值被赋给 $b 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。 自 PHP 5 起,可以很容易地通过在 $b 之前加上 & 来修改数组的单元。此方法将以引用赋值而不是拷贝一个值。例如: var_dump($arr);#打印$arr看下你就明白了,打印之后你再把&去掉,运行再打印,两次比较就清楚 第二种就是把原$arr中的每个单元重新赋值,上面那样写已经很清楚了,不明白的话,就到网上下载一个php手册,好好看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$array[$v]中的$v是指数组的值,即1和2,那么循环两次后就相当于 $array[1]=200以及$array[2]=200,这样数组的值就变为1、200、200了
如果是 $array[$k],$k是数组的键名,即0和1,那么循环两次后就相当于 $array[0]=200以及$array[1]=200,这样数组的值会变为 200、200
如果是 $array[$k],$k是数组的键名,即0和1,那么循环两次后就相当于 $array[0]=200以及$array[1]=200,这样数组的值会变为 200、200
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
php foreach数组问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询