<?php
$data = array(‘a’, ‘b’, ‘c’);
foreach($data as $key=>$val) {
$val = &$data[$key];
}
?>
问题1:程序执行时,每一次循环结束后变量$data的值是什么?请解释。
答:第一次循环时,把下标为0的成员,引用赋值给变量$val,$val与$data[0]内容相同,
要是其中一个改变,另一个也改变,此时,$data原样输出,只是$data[0]变成了引用
输出结果 a b c
第二次循环时,$key的值为1,把$data[1]引用复制给$val.
由于$val与$data[0]也是引用关系,所以这时,$val,$data[0],$data[1]三者值同为’B’
$val不再与$data[0]有关系了,只与$data[1]是引用关系
// b b c
第三次循环时,$key的值为2,把$data[2]引用复制给$val,
由于$data[1]与$val是引用关系,所以都将改变$data[1]、$val、$data[2]三者值一样
//b c c
问题2:程序执行完后,变量$data的值是什么?请解释。
答:结果为b c c
點擊查看更多內容
為 TA 點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優(yōu)質文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦