看**,再做解釋
複製** **如下:
<?ph nqbmgp
$array=array('a','b','c','d');
foreach($array as $knqbmgey=>$val)
echo $val;//輸出d
echo $kay;//輸出3
$val='e';
print_r($array);//輸出array ( [0] => a [1] => b [2] => c [3] => d )
?>
在foreach迴圈中,當迴圈結束後,$key和$val變數都不會自動釋放掉。值會被保留下來。
當foreach使用引用的情況下,會出現如下的情況,需要注意。
複製** **如下:
php
$array=array('a','b','c','d');
foreach($array as $key=>&$val)
echo $val;//輸出d
echo $kay;//輸出3
$val='e';
print_r($array);//輸出array ( [0] => a [1] => b [2] => c [3] =程式設計客棧》 e )
?>
當$val變數使用&引用後,當執行foreach迴圈結束後,$val指向了和$arrar[3]相同的記憶體位址。
當foreach迴圈結束後$val變數還是存在的,所以在foreach迴圈結束後改變$val的值,就相當於改變了$arrar[3]的值。
本文標題: php foreach迴圈中使用引用的問題
本文位址:
php foreach迴圈中使用引用的問題
看 再做解釋 複製 如下 array array a b c d foreach array as key val echo val 輸出d echo kay 輸出3 val e print r array 輸出array 0 a 1 b 2 c 3 d 在foreach迴圈中,當迴圈結束後,key...
巢狀for迴圈中使用標號
可以給語句塊加標號賦予它們名稱,標號位於語句之前。標號只能被continue和break引用。格式如下 label statement 語句前只允許加乙個標號,標號後面不能跟大括號。通過用break後加標號對處於標號中的語句進行控制。往往標號後是for.while.do while等迴圈。通過用標號...
flex在for迴圈中使用setTimeout
有時候我們需要在flex中使用延時載入的功能,下面我簡單記錄一下如何在for迴圈中使用flex延時載入方法settimeout的用法 方法如下 flash.utils.settimeout closure function,delay number,parameters uint 引數詳解 clos...