コードを見て説明してください
コードをコピーしてください コードは次のとおりです:
$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
true
http://www.bkjia.com/PHPjc/825099.html技術記事コードを見て説明します。次のようにコードをコピーします。 ?php $array=array('a','b','c','d'); //何かをする } echo $val;//出力 d echo $kay;//出力 3 $val='...