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

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

WBOY
リリース: 2016-07-13 10:43:01
オリジナル
991 人が閲覧しました

この記事では、PHP の foreach ループで参照を使用する際の分析と注意事項を紹介します。この記事が学生の皆様のお役に立てれば幸いです。


foreach ループでは、ループが終了しても $key 変数と $val 変数は自動的に解放されません。値は保存されます。
コードは次のとおりです コードをコピー

$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 )
?>

foreachで参照を使用すると以下のような状況が発生するため注意が必要です。

コードは次のとおりです $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] => e )
?>



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


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

www.bkjia.com

http://www.bkjia.com/PHPjc/633197.html技術記事この記事では、PHP の foreach ループで参照を使用する際の分析と注意事項を紹介します。この記事が学生の皆様のお役に立てれば幸いです。 コード例は次のとおりです。 コードをコピーします ?php $array=arra...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート