php foreach循環(huán)中使用引用的問題
更新時間:2013年11月06日 10:40:56 作者:
本文來給大家介紹php foreach循環(huán)中使用引用問題分析與注意事項(xiàng),希望此文章對各位同學(xué)會有所幫助
看代碼,再做解釋
<?php
$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循環(huán)中,當(dāng)循環(huán)結(jié)束后,$key和$val變量都不會自動釋放掉。值會被保留下來。
當(dāng)foreach使用引用的情況下,會出現(xiàn)如下的情況,需要注意。
<?php
$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 )
?>
當(dāng)$val變量使用&引用后,當(dāng)執(zhí)行foreach循環(huán)結(jié)束后,$val指向了和$arrar[3]相同的內(nèi)存地址。
當(dāng)foreach循環(huán)結(jié)束后$val變量還是存在的,所以在foreach循環(huán)結(jié)束后改變$val的值,就相當(dāng)于改變了$arrar[3]的值。
復(fù)制代碼 代碼如下:
<?php
$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循環(huán)中,當(dāng)循環(huán)結(jié)束后,$key和$val變量都不會自動釋放掉。值會被保留下來。
當(dāng)foreach使用引用的情況下,會出現(xiàn)如下的情況,需要注意。
復(fù)制代碼 代碼如下:
<?php
$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 )
?>
當(dāng)$val變量使用&引用后,當(dāng)執(zhí)行foreach循環(huán)結(jié)束后,$val指向了和$arrar[3]相同的內(nèi)存地址。
當(dāng)foreach循環(huán)結(jié)束后$val變量還是存在的,所以在foreach循環(huán)結(jié)束后改變$val的值,就相當(dāng)于改變了$arrar[3]的值。
您可能感興趣的文章:
- PHP的foreach中使用引用時需要注意的一個問題和解決方法
- php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解決方法
- PHP has encountered a Stack overflow問題解決方法
- 為PHP安裝imagick時出現(xiàn)Cannot locate header file MagickWand.h錯誤的解決方法
- ThinkPHP做文字水印時提示call an undefined function exif_imagetype()解決方法
- thinkphp視圖模型查詢提示ERR: 1146:Table ''db.pr_order_view'' doesn''t exist的解決方法
- PHP錯誤Warning: Cannot modify header information - headers already sent by解決方法
- php foreach正序倒序輸出示例代碼
- PHP中多維數(shù)組的foreach遍歷示例
- php中如何使對象可以像數(shù)組一樣進(jìn)行foreach循環(huán)
- 深入解析php中的foreach問題
- php下foreach提示W(wǎng)arning:Invalid argument supplied for foreach()的解決方法
相關(guān)文章
php將文件夾打包成zip文件的簡單實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄猵hp將文件夾打包成zip文件的簡單實(shí)現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-10-10PHP利用Socket獲取網(wǎng)站的SSL證書與公鑰
這篇文章主要給大家介紹了PHP利用Socket獲取網(wǎng)站的SSL證書與公鑰的相關(guān)資料,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-06-06php實(shí)現(xiàn)仿寫CodeIgniter的購物車類
這篇文章主要介紹了php實(shí)現(xiàn)仿寫CodeIgniter的購物車類,較為詳細(xì)的分析了購物車的功能與具體實(shí)現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-07-07騰訊微博提示missing parameter errorcode 102 錯誤的解決方法
這篇文章主要介紹了騰訊微博提示missing parameter errorcode 102 錯誤的解決方法,是針對騰訊微博接口開發(fā)中比較典型的錯誤問題,需要的朋友可以參考下2014-12-12