文章來給大家介紹php foreach迴圈中使用引用問題分析與注意事項,希望此文章對各位同學會有所協助。
例
| 代碼如下 |
複製代碼 |
$array=array('a','b','c','d'); foreach($array as $key=>$val){ //do something } echo $val;//輸出d echo $kay;//輸出3 $val='e'; print_r($array);//輸出Array ( [0] => a [1] => b [2] => c [3] => d ) ?> |
在foreach迴圈中,當迴圈結束後,$key和$val變數都不會自動釋放掉。值會被保留下來。
當foreach使用引用的情況下,會出現如下的情況,需要注意。
| 代碼如下 |
複製代碼 |
$array=array('a','b','c','d'); foreach($array as $key=>&$val){//使用引用 //do something } 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]的值。
http://www.bkjia.com/PHPjc/633197.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/633197.htmlTechArticle文章來給大家介紹php foreach迴圈中使用引用問題分析與注意事項,希望此文章對各位同學會有所協助。 例 代碼如下 複製代碼 ?php $array=arra...