[PHP] foreach ループでの参照代入の問題

little bottle
リリース: 2023-04-05 21:54:01
転載
3139 人が閲覧しました

foreach($arr as &$value)
1. 参照代入記号 & は、ループするたびに現在の要素をアドレスに変換します。$value 変数は、対応する要素のアドレスです。ループでは、$value は最後の要素を指すアドレスです。
2 次回ループしてこのメソッド foreach($arr as $value) を使用すると、問題が発生します。foreach は各要素を後続の要素に割り当てます。 $value 変数
3. したがって、ロジックは次のようになります。各要素を元の配列の最後の要素に変更すると、最後のループは常に前のループの結果になります。参照渡し、この形式を使用します $arr[$key]元の配列を変更するか、次のループ中に変数名を変更します


$nums=array(1,2,3); foreach($nums as &$v){ var_dump($v); } /* int(1) int(2) int(3) */ var_dump($nums); /* array(3) { [0]=> int(1) [1]=> int(2) [2]=> &int(3) } */ foreach($nums as $v){ var_dump($v); } /* int(1) int(2) int(2) */
ログイン後にコピー

[関連チュートリアル:

PHP ビデオ チュートリアル]

以上が[PHP] foreach ループでの参照代入の問題の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:cnblogs.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!