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 展开
 我来答
雷克斯博士
2019-02-06 · TA获得超过786个赞
知道小有建树答主
回答量:661
采纳率:83%
帮助的人:177万
展开全部

您好,运行结果没错的。是1、200、200,因为您设置的数组下标为数组自身每个元素的值。不知道您是否理解了?

循环您可以用笨方法理解:

// foreach 遍历开始,只执行了以下两个步骤:

$array["1"] = 200; // 这里会把字符串“1”变成整型 1,这里意思是设置第二个元素的值为200

$array["2"] = 200; // 同理,这里意思是设置第三个元素的值为200

因此最后结果(那个第一个元素没有被改变,因此仍然存在):

追问
相当于$arr['$v'] = 等于$arr[1],只改变下标1,2,数组从0开始就输出1,下标1赋值为200,下标2也同理
l7722526
2019-02-06 · TA获得超过2.7万个赞
知道大有可为答主
回答量:2.8万
采纳率:84%
帮助的人:3775万
展开全部
第一种格式遍历给定的 $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手册,好好看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
在风力发电场乘风破浪的中华小当家
2019-02-06 · TA获得超过223个赞
知道答主
回答量:364
采纳率:11%
帮助的人:35.4万
展开全部
$array["1"] = 200; // 这里会把字符串“1”变成整型 1,这里意思是设置第二个元素的值为200第一种格式遍历给定的 $a 数组。每次循环中,当前单元的值被赋给 $b 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。 自 PHP 5 起,可以很容易地通过在 $b 之前加上 & 来修改数组的单元。此方法将以引用赋值而不是拷贝一个值。例如: var_dump($arr);#打印$arr看下你就明白了,打印之后你再把&去掉,运行再打印,两次比较就清楚 第二种就是把原$arr中的每个单元重新赋值,上面那样写已经很清楚了,不明白的话,就到网上下载一个php手册,好好看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
网海1书生
科技发烧友

2019-02-06 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部
$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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
You136999
2019-02-06 · TA获得超过307个赞
知道小有建树答主
回答量:537
采纳率:78%
帮助的人:74.9万
展开全部
php foreach数组问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式