ios破解 PHP中的&傳值引用的問(wèn)題,在foreach循環(huán)的結(jié)果能幫解釋下輸出的結(jié)果原理是什么?
PHP中的&傳值引用的問(wèn)題,在foreach循環(huán)的結(jié)果能幫解釋下輸出的結(jié)果原理是什么?HP中的&傳值引用的問(wèn)題,在foreach循環(huán)的結(jié)果能幫解釋下輸出的結(jié)果原理是什么? 代碼如下: $arr
PHP中的&傳值引用的問(wèn)題,在foreach循環(huán)的結(jié)果能幫解釋下輸出的結(jié)果原理是什么?
HP中的&傳值引用的問(wèn)題,在foreach循環(huán)的結(jié)果能幫解釋下輸出的結(jié)果原理是什么?
代碼如下:
$arr = array("one","two","three")
foreach ($arr as &$value){ echo "Value:".$value."
" }
foreach ($arr as $value){ echo "Value:".$value."
" }
?>
輸出結(jié)果:
Value:one
Value:two
Value:three
Value:one
Value:two
Value:two
第一次帶&的foreach并沒(méi)有改變數(shù)組的內(nèi)容。。
而是最后一次循環(huán)$value引用了數(shù)組的最后一個(gè)項(xiàng) (可以測(cè)試一下,在第一次循環(huán)結(jié)束后unset($value),第二次循環(huán)的結(jié)果就不會(huì)有變化),
在你第二個(gè)foreach也是使用的$value變量,這才造成了怪異的問(wèn)題(可以換個(gè)變量,比如$val,輸出的數(shù)組就不會(huì)有變化)。
第二個(gè)foreach是賦值給$value,但是這時(shí)的$value是引用的數(shù)組的最后一個(gè)值,
所以
第一次循環(huán)把one賦值給了最后一個(gè)值,
第二次把two賦值給最后一個(gè),
第三次也就是最后一個(gè)已經(jīng)在第二次循環(huán)被賦值為two,所以仍然是two。
EXCEL如何循環(huán)使用公式?
循環(huán)引用兩種。
一種是直接引用,即自己引用自己。如A1=A1 1。這就是說(shuō)A1單元格的公式引用了A1本身。
二是間接引用。如A1的公式引用了B1,而B(niǎo)1的公式又是引用A1?;蛘逜1的公式引用了B1,而B(niǎo)1的公式引用C1,C1的公式引用A1等等。避免這種錯(cuò)誤的引用最根本的還是修改公式本身,使其錯(cuò)誤不存在。當(dāng)然,若需要這樣的引用,又不想出現(xiàn)這種提示,可以工具-選項(xiàng)-重新計(jì)算,選擇手動(dòng)重算,同時(shí)勾選“迭代計(jì)算”,并更改迭代次數(shù)為1。不過(guò),這樣一來(lái),需要計(jì)算時(shí)要手工按F9。