欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

在foreach循環的結果能幫解釋下輸出的結果原理是什么

李中冰2年前19瀏覽0評論

在foreach循環的結果能幫解釋下輸出的結果原理是什么?

HP中的&傳值引用的問題,在foreach循環的結果能幫解釋下輸出的結果原理是什么?

代碼如下:

$arr = array('one','two','three');

foreach ($arr as &$value){ echo 'Value:'.$value.'

'; }

foreach ($arr as $value){ echo 'Value:'.$value.'

'; }

?>

輸出結果:

Value:one

Value:two

Value:three

Value:one

Value:two

Value:two

第一次帶&的foreach并沒有改變數組的內容。。

而是最后一次循環$value引用了數組的最后一個項 (可以測試一下,在第一次循環結束后unset($value),第二次循環的結果就不會有變化),

在你第二個foreach也是使用的$value變量,這才造成了怪異的問題(可以換個變量,比如$val,輸出的數組就不會有變化)。

第二個foreach是賦值給$value,但是這時的$value是引用的數組的最后一個值,

所以

第一次循環把one賦值給了最后一個值,

第二次把two賦值給最后一個,

第三次也就是最后一個已經在第二次循環被賦值為two,所以仍然是two。

php 輸出 . 是什么,在foreach循環的結果能幫解釋下輸出的結果原理是什么