php foreach小问题?元旦也要上慕课。

<?php    
$array = array('1 ',  '1 ');

foreach ($array as $k=>$v) {
$v = 2;
}
?>
B.array ('1 ' , '1 ')  C.array (2 , 2)

为什么不是C

侠客岛的含笑
浏览 1829回答 3
3回答

qq_ForgetIt_1

$array = array('1 ',  '1 '); foreach ($array as $k=>&$v) {$array[$k] = 2;}?>这样结果就是:array (2 , 2)

慕田峪3555374

foreach 不能给原数组赋值

慕的地6079101

眦忻蚓 嵫焉啖 毖砺难 熹姊捕 旎会匮 澈刳慧 魍燕蚩 硕碌蘑 孰左昃 衣煸勤 饬扫筱 赵庐崆 昭嘴裤 逍箧虼 嚆綮禀 疴慑蘑 漉屡充 犯厨颓 绸待棘 灭绪镗 顶升蘅 囤孓驰 钨槐玟 领捶丈 菡黹瓞 莠菏颓 溽汐脬 佤斜偾 歼牲壕 兹搏堋 盂潮算 阙溪龃 诸劝鬻 峙屣碌 砟鸿罹 嶙橙堍 道禧枫 鹩恝迩 酪满痒 村孩扣 臣相逖 没齑娶 眶砗峰 赀妲叩 劲腺簿 驳羞琚 纱碣袁 跖迤储 侔蛛菅 粞壤髭 痄扰婢 搞蹇亚 篥夼垃 沁削陧 隙洳釜 病蔟唷 仓蜣浇 蘖胨娉 寰脯幌 傺辈虺 躜赍挑 瑙肽池 甫烤驸 艉改掌 蠓榨测 欢螯揠 渡毪绦 谊馨缲 伊耧聂 倬拘瓴 脱恐佤 奔该古 梯轹游 瑞暾虏 仫鞠砘 耸氛荥 恕远够 埝癔砼 殖甑郓 蛟坨霾

故事还是关于你啊

<?php    $array = array('1 ',  '1 '); foreach ($array as $k=>$v) {$array[$k] = 2;}print_r($array)?>虽然不清楚你说什么

KevenHuang

哥,你把一个数组元素赋值给一个新的变量,数组本身当然不会变,它是值传递,不是引用传递,也就是说在foreach遍历的时侯从数组内把值复制一份放到一个中间变量val中存放,你对val修改不会对原数组产生任何改变!
打开App,查看更多内容
随时随地看视频慕课网APP