ホームページ >バックエンド開発 >PHPチュートリアル >php foreach ループでの参照の使用に関する問題_PHP チュートリアル

php foreach ループでの参照の使用に関する問題_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:25:26902ブラウズ

コードを見て説明してください

コードをコピーしてください コードは次のとおりです:

$array=array('a','b','c','d ');
foreach( $array as $key=>$val){
// 何かをする
}
echo $val;// 出力 d
echo $kay;// 出力 3
$val='e' ;
print_r($array );//出力配列 ([0] => a [1] => b [2] => c [3] => d )
?>

In foreach ループ、ループの完了後、$key 変数も $val 変数も自動的に解放されません。値は保存されます。
foreachで参照を使用すると以下のような状況が発生するため注意が必要です。
コードをコピーします コードは次のとおりです:

$array=array('a','b','c','d'); as $key= >> ;//出力配列 ( [0] => a [1] => b [2] => c [3] => e )
?>


$val 変数は & を使用して引用され、 foreach ループが終了すると、 $val は $arrar[3] と同じメモリ アドレスを指します。
$val 変数は foreach ループ終了後も存在するため、foreach ループ終了後に $val の値を変更することは、$arrar[3] の値を変更することと同じです。



http://www.bkjia.com/PHPjc/825099.html

www.bkjia.com
tru​​e

http://www.bkjia.com/PHPjc/825099.html技術記事コードを見て説明します。次のようにコードをコピーします。 ?php $array=array('a','b','c','d'); //何かをする } echo $val;//出力 d echo $kay;//出力 3 $val='...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。